Ben Thorner 864f4bef66 Revise README to be similar to API app
This restructures the sections based on what we agreed for the API
repo.
2021-02-22 17:19:30 +00:00
2021-02-19 11:35:51 +00:00
2019-11-29 15:25:37 +00:00
2017-09-27 12:15:33 +01:00
2018-12-21 10:44:20 +00:00
2019-11-29 15:25:37 +00:00
2021-02-22 17:04:41 +00:00
2020-03-06 13:25:53 +00:00
2020-01-21 15:10:43 +00:00
2019-11-29 15:25:37 +00:00

notifications-admin

GOV.UK Notify admin application - https://www.notifications.service.gov.uk/

  • Register and manage users
  • Create and manage services
  • Send batch emails and SMS by uploading a CSV
  • Show history of notifications

Setting up

Python version

At the moment we run Python 3.6 in production.

NPM packages

brew install node

NPM is Node's package management tool. n is a tool for managing different versions of Node. The following installs n and uses the long term support (LTS) version of Node.

npm install -g n
n lts

environment.sh

In the root directory of the application, run:

echo "
export NOTIFY_ENVIRONMENT='development'
export FLASK_APP=application.py
export FLASK_ENV=development
export WERKZEUG_DEBUG_PIN=off
"> environment.sh

AWS credentials

To run parts of the app, such as uploading letters, you will need appropriate AWS credentials. See the Wiki for more details.

To run the application

# install dependencies, etc.
make bootstrap

# run the web app
make run-flask

Then visit localhost:6012.

To test the application

# install dependencies, etc.
make bootstrap

make test

Updating application dependencies

requirements.txt file is generated from the requirements-app.txt in order to pin versions of all nested dependencies. If requirements-app.txt has been changed (or we want to update the unpinned nested dependencies) requirements.txt should be regenerated with

make freeze-requirements

requirements.txt should be committed alongside requirements-app.txt changes.

Automatically rebuild the frontend assets

If you want the front end assets to re-compile on changes, leave this running in a separate terminal from the app

    npm run watch

Working with static assets

When running locally static assets are served by Flask at http://localhost:6012/static/…

When running on preview, staging and production theres a bit more to it:

notify-static-after

Description
The UI of Notify.gov
Readme 560 MiB
Languages
Python 69.3%
HTML 16.6%
JavaScript 11.1%
SCSS 0.9%
Nunjucks 0.7%
Other 1.4%