Notify is a service developed by the Digital Transformation Agency that helps government agencies communicate with their users.
This is the open source repository that encompasses all projects that make up Notify.
We can orchestrate all of these projects by using a set of common Makefile conventions.
The targets that every sub-project should implement are:
install
install-dev
build
test
clean
deploy
deploy-dev
check-vulnerabilities
Issuing any of these commands at the root level will forward it on to all sub-projects. For example, you can set up and build every project by running:
make install
make build
You can run all the tests of all projects by running:
make install-dev
make test
You can also work with a specific project from the root level by prefixing the command with the project name, and a full stop separator.
For instance, to run the API in dev mode:
make api.run
Alternatively, you can change into the api
directory and issue the make run
command directly.
To start the whole app from nothing, you'll need to run the following in different shells.
make api.run-celery-worker
make admin.run
... then hit up http://localhost:6012 to get going.
Optionally you can also run this target to run the scheduled tasks:
make api.run-celery-beat
Different projects have different needs. Consult them individually to be sure.
Generally though, you'll need Python and pipenv for the frontend and backend.
You'll need Node.js for the frontend and docs.
Notify is based on GOV.UK Notify.
Thanks GDS team for providing Notify as an open source project that made it possible for us to build on a stable and reliable foundation.