2016-01-12 09:38:55 +00:00
[](https://travis-ci.org/alphagov/notifications-admin)
[](https://requires.io/github/alphagov/notifications-admin/requirements/?branch=master)
2016-04-07 10:28:29 +01:00
[](https://coveralls.io/github/alphagov/notifications-admin?branch=master)
2015-11-23 14:55:37 +00:00
2015-11-18 16:41:49 +00:00
2016-03-22 08:36:03 +00:00
[](https://github.com/alphagov/notifications-admin/compare/staging...master?expand=1&title=Deploy%20to%20staging) [](https://github.com/alphagov/notifications-admin/compare/live...staging?expand=1&title=Deploy%20to%20live)
2015-11-20 10:31:28 +00:00
# notifications-admin
2016-02-03 15:18:57 +00:00
2016-03-03 07:41:53 +00:00
GOV.UK Notify admin application.
2015-11-18 16:32:15 +00:00
2016-02-03 15:18:57 +00:00
## Features of this application
2015-11-20 15:46:08 +00:00
2016-03-03 07:41:53 +00:00
- Register and manage users
- Create and manage services
- Send batch emails and SMS by uploading a CSV
2016-02-03 15:18:57 +00:00
- Show history of notifications
2015-11-23 14:31:14 +00:00
2016-02-03 15:18:57 +00:00
## First-time setup
2015-12-15 08:20:25 +00:00
2016-03-03 07:41:53 +00:00
Languages needed
- Python 3
- [Node ](http://nodejs.org/ ) 5.0.0 or greater
2015-12-15 08:20:25 +00:00
```shell
brew install node
```
2016-03-03 07:41:53 +00:00
[NPM ](npmjs.org ) 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.
2016-01-14 16:26:56 +00:00
```shell
2016-01-06 11:14:04 +00:00
npm install -g n
n latest
npm rebuild node-sass
2016-01-14 16:26:56 +00:00
```
2016-01-12 13:37:50 +00:00
2016-02-03 15:18:57 +00:00
The app runs within a virtual environment. To [install virtualenv ](https://virtualenv.readthedocs.org/en/latest/installation.html ), run
```shell
[ sudo] pip install virtualenv
```
2016-03-03 07:41:53 +00:00
Make a virtual environment for this app:
2016-02-03 15:18:57 +00:00
```shell
mkvirtualenv -p /usr/local/bin/python3 notifications-admin
2016-03-03 07:41:53 +00:00
```
Install dependencies and build the frontend assets:
```shell
2016-02-03 15:18:57 +00:00
./scripts/bootstrap.sh
```
2016-03-03 07:41:53 +00:00
## Rebuilding the frontend assets
2016-02-03 15:18:57 +00:00
2015-12-15 08:20:25 +00:00
If you want the front end assets to re-compile on changes, leave this running
in a separate terminal from the app
```shell
npm run watch
```
2015-11-23 14:31:14 +00:00
2016-03-23 14:09:07 +00:00
## Create a local environment.sh file containing the following:
```
echo "
export NOTIFY_ADMIN_ENVIRONMENT='config.Development'
export ADMIN_CLIENT_SECRET='dev-notify-secret-key'
export ADMIN_CLIENT_USER_NAME='dev-notify-admin'
export API_HOST_NAME='http://localhost:6011'
export DANGEROUS_SALT='dev-notify-salt'
export SECRET_KEY='dev-notify-secret-key'
"> environment.sh
```
2016-02-03 15:18:57 +00:00
## Running the application
2015-12-15 08:20:25 +00:00
```shell
2016-02-03 15:18:57 +00:00
workon notifications-admin
2015-11-25 15:29:12 +00:00
./scripts/run_app.sh
2015-12-15 08:20:25 +00:00
```
2015-11-23 14:39:31 +00:00
2016-03-03 07:41:53 +00:00
Then visit [localhost:6012 ](http://localhost:6012 )