This application has one service:
- Claim funding for mentor training: A service for placement partners to claim funding for their general mentors’ training.
| Name | URL | Purpose | AKS Namespace |
|---|---|---|---|
| Production | www | Public site | bat-production |
| Sandbox | sandbox | Demo environment for end-users | bat-production |
| Staging | staging | For internal use by DfE for testing - Production-like environment | bat-staging |
| QA | qa | For internal use by DfE for testing - Automatically deployed from main | bat-qa |
This project depends on:
Most dependencies are defined in the .tool-versions file and can be installed using asdf (or a compatible alternative like mise).
To install them with asdf, run:
# The first time
brew install asdf # Mac-specific
asdf plugin add nodejs
asdf plugin add ruby
asdf plugin add yarn
asdf plugin add caddy
asdf plugin add azure-cli
asdf plugin add jq
asdf plugin add kubectl
asdf plugin add kubelogin
asdf plugin add python
asdf plugin add terraform
# To install (or update, following a change to .tool-versions)
asdf installYou'll also need a few packages which asdf either doesn't have plugins for, or it can't reliably install them. For example, for some reason asdf installs cmake as an unsigned binary so it won't run on macOS.
Install them using Homebrew:
brew bundleThis will install the packages listed in Brewfile.
Finally, you will need a running Postgres 16 server. You can install it with Homebrew by running:
brew install postgresql@16or you may prefer to use Postgres.app, Docker, or some other installation method.
To run the linters:
bin/lintWe 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 titleThe application requires you to add your API key for GOVUK_NOTIFY_API_KEY, to gain access to this service ask your
team lead to invite you to GOV.UK Notify.
Once you have access, navigate to API integration -> API Keys -> Create an API Key
Name your key in a sensible and identifiable way, e.g. [YOUR-NAME] Local Test Key and set the type of key to Test.
Create your key and then add it to .env.test and .env.development where it says GOVUK_NOTIFY_API_KEY=.
You will also need to create a .env file in the same directory as .env.test and .env.development. The contents of the new .env file should be a copy of .env.example.
To run the application locally:
- Run
bin/setupto install dependencies, set up the database and launch the app on http://placements.localhost:3000 or http://claims.localhost:3000.
To run the seed data to generate the following:
- Persona
- Anne Wilson - School
- Patricia Adebayo - University
- Mary Lawson - Multi-org
- Colin Chapman - Support
bin/bundle exec rails db:seed