A service that allows international teachers to apply for qualified teacher status (QTS) in England.
| Name | URL |
|---|---|
| Production | apply-for-qts-in-england.education.gov.uk |
| Test | test.apply-for-qts-in-england.education.gov.uk |
| Development | dev.apply-for-qts-in-england.education.gov.uk |
| Name | Description | Notify API key |
|---|---|---|
| Production | Public site | Live |
| Test | For internal use by DfE for testing | Live |
| Development | For internal use by dev team for testing | Test |
- Ruby 3.x
- Node.js 16.x
- Yarn 1.22.x
- PostgreSQL 14.x
- Redis 7.x
- Terraform 1.5.x
- Kubectl 1.27.x
Apply for Qualified Teacher Status is a monolithic Rails app built with the GOV.UK Design System and hosted on Azure AKS.
We keep track of architecture decisions in Architecture Decision Records (ADRs).
We use rladr to generate the boilerplate for new records:
bin/bundle exec rladr new titleInstall dependencies using your preferred method, using asdf or rbenv or
nvm. Example with asdf:
# The first time
brew install asdf # Mac-specific
asdf plugin add ruby
asdf plugin add postgres # Unless you are managing postgres yourself
asdf plugin add nodejs
asdf plugin add yarn
asdf plugin add terraform
asdf plugin add azure-cli
asdf plugin add kubectl
# To install (or update, following a change to .tool-versions)
asdf installYou’ll need to install lipvips. This varies on each operating system, but on macOS you can try this:
brew install libvipsYou’ll need to install PostgreSQL. This can be installed via asdf, otherwise the way to do this is different on each operating system.
On macOS you can try the following:
brew install postgresqlIf installed via asdf, start postgres database service if installed:
pg_ctl startSet up the postgres user if it doesn't exist:
createdb default
psql -d default
> CREATE ROLE postgres LOGIN SUPERUSER;You’ll need to install Redis. The way to do this is different on each operating system, but on macOS you can try the following:
brew install redis
brew services start redisIf installing Redis manually, you'll need to start it in a separate terminal:
redis-serverSetup the project (re-run after Gemfile or package.json updates, automatically restarts any running Rails server):
bin/setupGenerate fake application forms and staff. For development and non-production environments we have a script that generates useful fake data.
bundle exec rake fake_data:generateTo enable the 'personas' feature, from the rails console
FeatureFlags::FeatureFlag.activate(:personas)Navigate to /personas for persona based logins.
Run the application on http://localhost:3000:
bin/devEdit .env.local and add a BigQuery key if you want to use BigQuery locally.
Set BIGQUERY_DISABLE to false as it defaults to true in the development environment.
Read more about setting up BigQuery.
To run the linters:
bin/lintTo run the tests:
bin/test