Serves mainstream formats, the homepage, and search on GOV.UK
Ruby HTML JavaScript CSS Shell
Latest commit c83ba5f Dec 1, 2016 @emmabeynon emmabeynon committed on GitHub Merge pull request #1068 from alphagov/move-business-support-to-own-c…

Move business support to own controller

GOV.UK Frontend

Application to serve mainstream formats, the homepage, and search vertical for the GOV.UK single domain.

Live examples


Hard-coded routes

Private frontend

This application is also deployed as a backend application to allow editors to preview their work.

This is to be replaced by the "draft stack", a set of frontend apps using the draft content-store.

Travel advice country pages are still served in draft mode from this application, because the draft stack doesn't support previewing multiple editions yet.


  • Formats - our phrase for a type of content

Technical documentation

A Ruby on Rails application that renders the citizen-facing part of formats stored in the Content API. It looks up the passed in slug in the Content API.

It also serves the homepage (hard-coded route) and the search results vertical (hard-coded route).

See app/views/root for some bespoke transaction start pages.


Running the application

To run the application standalone, run static and execute the following command:


which uses the production content API and a local copy of static.

Note that you will have to have GOV.UK Mapit running locally.

To run in a full development stack (with DNS, all apps running etc.) just use ./

Note that the app uses a local version of GOV.UK Mapit, therefore a valid dataset will have to be loaded for Mapit, otherwise postcode lookups will not succeed. This is part of the standard GOV.UK data replication steps.

Running the test suite

bundle exec rake runs the test suite.

JavaScript unit testing

The tests in test/javascripts will be run as part of the test:javascript task.

To run them in a browser on your local machine (useful for breakpointing):

  1. run INCLUDE_JS_TEST_ASSETS=1 bundle exec script/rails server -p 3150 --environment=test on your vm
  2. open test/javascripts/support/LocalTestRunner.html (as a static file) in your browser.

This relies on you being able to access the above server on


MIT Licence