Files
notifications-admin/README.md
Jenny Duckett 5eca69882a Generate the version file in the bootstrap script
This file needs to exist before the app can run, so create it automatically
rather than including it as an extra setup step in the README. The API app
already does this.
2016-11-29 16:25:50 +00:00

87 lines
2.5 KiB
Markdown

[![Requirements Status](https://requires.io/github/alphagov/notifications-admin/requirements.svg?branch=master)](https://requires.io/github/alphagov/notifications-admin/requirements/?branch=master)
[![Coverage Status](https://coveralls.io/repos/alphagov/notifications-admin/badge.svg?branch=master&service=github)](https://coveralls.io/github/alphagov/notifications-admin?branch=master)
# 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:
```shell
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```
Languages needed
- Python 3.4
- [Node](https://nodejs.org/) 5.0.0 or greater
- [npm](https://www.npmjs.com/) 3.0.0 or greater
```shell
brew install node
```
[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.
```shell
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
```shell
pip install virtualenvwrapper
mkvirtualenv -p /usr/local/bin/python3 notifications-admin
```
Install dependencies and build the frontend assets:
```shell
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
```shell
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](http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-config-files) for storing them correctly
## Running the application
```shell
workon notifications-admin
./scripts/run_app.sh
```
Then visit [localhost:6012](http://localhost:6012)