mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-10 05:14:05 -05:00
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.
87 lines
2.5 KiB
Markdown
87 lines
2.5 KiB
Markdown
[](https://requires.io/github/alphagov/notifications-admin/requirements/?branch=master)
|
|
[](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)
|