mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-03-18 09:12:42 -04:00
5ab5a8a57f221446210112cbd48ff220cbc0b296
If you’re filling out a form then it should be possible to submit it for as long as you’re logged in. We keep you logged in for quite a long time now. This is partly for people using assistive tech, who might be slower to fill in forms, and partly for people who get distracted in the middle of a task and come back to it later. The expiry on our CSRF tokens was more aggressive (3600 seconds – 1 hour) than our sessions. This commit sets the CSRF tokens to not expire, so in effect they last as long as the session. Also tweaks the config to have CSRF on locally (to replicate production more closely) and only disable it for tests (because it’s a pain to grab the tokens in tests).
…
…
…
notifications-admin
GOV.UK Notify admin application.
Features of this application
- Register and manage users
- Create and manage services
- Send batch emails and SMS by uploading a CSV
- Show history of notifications
First-time setup
Brew is a package manager for OSX. The following command installs brew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Languages needed
brew install node imagemagick ghostscript cairo pango
NPM is Node's package management tool. n is a tool for managing
different versions of Node. The following installs n and uses the latest
version of Node.
npm install -g n
n latest
npm rebuild node-sass
The app runs within a virtual environment. We use mkvirtualenv for easier working with venvs
pip install virtualenvwrapper
mkvirtualenv -p /usr/local/bin/python3 notifications-admin
Install dependencies and build the frontend assets:
workon notifications-admin
./scripts/bootstrap.sh
Rebuilding 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
Create a local environment.sh file containing the following:
echo "
export NOTIFY_ENVIRONMENT='development'
export ADMIN_CLIENT_SECRET='notify-secret-key'
export API_HOST_NAME='http://localhost:6011'
export DANGEROUS_SALT='dev-notify-salt'
export SECRET_KEY='notify-secret-key'
export DESKPRO_API_HOST="some-host"
export DESKPRO_API_KEY="some-key"
"> environment.sh
AWS credentials
Your aws credentials should be stored in a folder located at ~/.aws. Follow Amazon's instructions for storing them correctly
Running the application
workon notifications-admin
./scripts/run_app.sh
Then visit localhost:6012
Description
Languages
Python
69.3%
HTML
16.6%
JavaScript
11.1%
SCSS
0.9%
Nunjucks
0.7%
Other
1.4%