mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-11 09:28:27 -04:00
35e12a02a00e0e6afc8162c5151a45c9d59e645c
Our deploys have stopped working. It’s complaining with an `ImportError` somewhere in Boto: ``` 017-04-04T10:46:26.17+0100 [APP/PROC/WEB/0]ERR Traceback (most recent call last): 2017-04-04T10:46:26.17+0100 [APP/PROC/WEB/0]ERR File “/home/vcap/app/.heroku/python/bin/aws”, line 19, in <module> 2017-04-04T10:46:26.17+0100 [APP/PROC/WEB/0]ERR import awscli.clidriver 2017-04-04T10:46:26.17+0100 [APP/PROC/WEB/0]ERR File “/app/.heroku/python/lib/python3.5/site-packages/awscli/clidriver.py”, line 33, in <module> 2017-04-04T10:46:26.17+0100 [APP/PROC/WEB/0]ERR from awscli.help import ProviderHelpCommand 2017-04-04T10:46:26.17+0100 [APP/PROC/WEB/0]ERR File “/app/.heroku/python/lib/python3.5/site-packages/awscli/help.py”, line 27, in <module> 2017-04-04T10:46:26.17+0100 [APP/PROC/WEB/0]ERR from awscli.clidocs import ProviderDocumentEventHandler 2017-04-04T10:46:26.17+0100 [APP/PROC/WEB/0]ERR File “/app/.heroku/python/lib/python3.5/site-packages/awscli/clidocs.py”, line 18, in <module> 2017-04-04T10:46:26.17+0100 [APP/PROC/WEB/0]ERR from botocore.utils import is_json_value_header 2017-04-04T10:46:26.17+0100 [APP/PROC/WEB/0]ERR ImportError: cannot import name ‘is_json_value_header’ 2017-04-04T10:46:26.20+0100 [APP/PROC/WEB/0]OUT Terminating application process with pid ``` Our version of Boto is a year old. Upgrading it to the latest version seems like a good idea. Not a breaking version number change. Changelog here: https://github.com/boto/boto3/blob/develop/CHANGELOG.rst Complete changes: https://github.com/boto/boto3/compare/1.3.0...1.4.4
…
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%