$30 off During Our Annual Pro Sale. View Details »

Reuse your government's code

Reuse your government's code

Presentation I gave at the London Ruby User Group about reusing things from GOV.UK's codebase.

Tijmen Brommet

August 12, 2019
Tweet

More Decks by Tijmen Brommet

Other Decks in Programming

Transcript

  1. Tijmen Brommet
    Lead Developer, GOV.UK

    Government Digital Service

    @tijmenbr

    View Slide

  2. Steal software from
    government!

    View Slide

  3. GDS

    View Slide

  4. GDS
    What if it worked for backend code too?

    View Slide

  5. GDS

    View Slide

  6. GDS

    View Slide

  7. GDS

    View Slide

  8. GDS

    View Slide

  9. GDS

    View Slide

  10. GDS

    View Slide

  11. GDS

    View Slide

  12. GDS

    View Slide

  13. GDS
    Slides will be online at www.tijmen.cc/lrug

    View Slide

  14. GDS
    3 real world apps
    3 cool patterns
    3 things to help big projects
    3 clever team tools

    View Slide

  15. GDS
    3 real world apps
    3 cool patterns
    3 things to help big projects
    3 clever team tools

    View Slide

  16. A really big app

    View Slide

  17. GDS
    This is a text slide

    View Slide

  18. GDS
    8 years of code
    Rails 3 to Rails 5
    lots of domain modelling
    running single app in 2 modes

    View Slide

  19. A data warehouse

    View Slide

  20. GDS

    View Slide

  21. GDS
    collects data from our system & analytics
    uses a star schema database

    View Slide

  22. A new app

    View Slide

  23. GDS

    View Slide

  24. GDS

    View Slide

  25. GDS

    View Slide

  26. GDS
    3 real world apps
    3 cool patterns
    3 things to help big projects
    3 clever team tools

    View Slide

  27. Readable feature
    specs

    View Slide

  28. GDS
    {screenie FutureLearn blopo}

    View Slide

  29. GDS
    This is a text slide

    View Slide

  30. GDS
    This is a text slide

    View Slide

  31. GDS

    View Slide

  32. Spam honeypot

    View Slide

  33. GDS

    View Slide

  34. GDS

    View Slide

  35. GDS

    View Slide

  36. GDS

    View Slide

  37. Archiving big tables

    View Slide

  38. GDS
    100

    View Slide

  39. GDS

    View Slide

  40. GDS

    View Slide

  41. GDS

    View Slide

  42. GDS

    View Slide

  43. GDS

    View Slide

  44. GDS

    View Slide

  45. GDS
    3 real world apps
    3 cool patterns
    3 things to help big projects
    3 clever team tools

    View Slide

  46. Configure lots of
    GitHub repos

    View Slide

  47. GDS

    View Slide

  48. GDS
    ✅ only allow merge commits
    ✅ protect master branch
    ✅ enforce CI checks
    ✅ add webhooks

    View Slide

  49. GDS

    View Slide

  50. GDS

    View Slide

  51. Share frontend code

    View Slide

  52. GDS

    View Slide

  53. GDS
    app/views/components/_back_link.html.erb
    app/assets/stylesheets/components/_back-link.scss
    app/assets/javascripts/components/_back-link.js
    app/views/components/docs/back_link.yml

    View Slide

  54. GDS

    View Slide

  55. GDS
    example

    View Slide

  56. GDS

    View Slide

  57. GDS

    View Slide

  58. Visual regression
    testing

    View Slide

  59. GDS

    View Slide

  60. GDS

    View Slide

  61. GDS
    3 real world apps
    3 cool patterns
    3 things to help big projects
    3 clever team tools

    View Slide

  62. Seal of approval

    View Slide

  63. GDS

    View Slide

  64. GDS

    View Slide

  65. GDS

    View Slide

  66. GitHub Trello Poster

    View Slide

  67. GDS

    View Slide

  68. GDS

    View Slide

  69. Browser extension

    View Slide

  70. GDS
    https://www.gov.uk/learn-to-drive-a-car
    https://www.staging.publishing.service.gov.uk/learn-to-drive-a-car
    https://www.integration.publishing.service.gov.uk/learn-to-drive-a-car
    http://www.dev.gov.uk/learn-to-drive-a-car
    https://www.gov.uk/api/content/learn-to-drive-a-car
    https://www.gov.uk/api/search.json?filter_link=/learn-to-drive-a-car
    https://webarchive.nationalarchives.gov.uk/*/https://www.gov.uk/learn-to-drive-a-car
    etc etc

    View Slide

  71. GDS

    View Slide

  72. GDS

    View Slide

  73. Want more?

    View Slide

  74. GDS

    View Slide

  75. GDS
    Want to code in the open too? We're hiring!
    https://jobs.jobvite.com/gds

    View Slide

  76. GDS
    Slides & links at www.tijmen.cc/lrug
    Thank you
    @tijmenbr

    View Slide