mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-17 00:44:51 -05:00
88 lines
2.5 KiB
Markdown
88 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)
|