A tool for content designers to present complex information as a flow of questions, leading to an outcome. While the app is mostly self-contained, some Smart Answers use Whitehall to get data on countries and worldwide organisations.
- Look up Meursing code
- Maternity and paternity calculator for employers
- Towing: licence and age requirements
-
Smart Answer: The flow, questions and outcomes.
-
Flow: Defines the questions, outcomes and the rules for navigating between them.
-
Landing page: Contains a description of the Smart Answer and the "Start now" button that leads to the first question.
-
Question page: Contains an individual question that's asked in order to help arrive at an outcome.
-
Outcome page: Contains the result of the Smart Answer based on responses to individual questions.
This is a Ruby on Rails app, and should follow our Rails app conventions.
You can use the GOV.UK Docker environment or run ./startup.sh --live
script to run the app. Read the guidance on local frontend development to find out more about each approach, before you get started.
If working on a smart answer that makes use of an API, locally run ./startup.sh --live
script to run the app instead of docker.
If you are using GOV.UK Docker, remember to combine it with the commands that follow. See the GOV.UK Docker usage instructions for examples.
bundle exec rake
- When running integration tests, if you get
SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version <some version number>
error, then:- run
brew install chromedriver
or if you already have the cask,brew upgrade chromedriver
- if that doesn't work, install the correct Chrome driver into
usr/local/bin
- run
- When running
bundle exec rake
, if you getrake aborted! LoadError: linked to incompatible <some libruby or gem link>
, rungem pristine --all
- Development principles
- Deploying changes for fact-check
- Creating a new Smart Answer
- Publishing a Smart Answer
- Retiring a Smart Answer
Further guidance is available in docs/tasks
.