This application has two main services:
- Claim funding for mentor training: A service for placement partners to claim funding for their general mentors’ training.
- Manage school placements: A service for training providers and placement partners to manage their mentors and placements.
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 |
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 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 install
You'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 bundle
This 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@16
or you may prefer to use Postgres.app, Docker, or some other installation method.
To run the linters:
bin/lint
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 title
The 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=
.
To run the application locally:
- Run
yarn
to install dependencies for the web app to run - Run
bin/setup
to setup the database - Run
bin/dev
to 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