2016-01-25 13:20:20 +00:00

2016-01-28 11:51:52 +00:00
[](https://requires.io/github/alphagov/notifications-api/requirements/?branch=master)
2015-11-18 17:03:35 +00:00
2015-11-20 10:51:08 +00:00
# notifications-api
2015-11-18 13:58:21 +00:00
Notifications api
2015-11-20 10:51:08 +00:00
Application for the notification api.
Read and write notifications/status queue.
Get and update notification status.
2016-02-17 09:49:36 +00:00
## Setting Up
```
2016-01-25 13:20:20 +00:00
mkvirtualenv -p /usr/local/bin/python3 notifications-api
2016-02-17 09:49:36 +00:00
```
2016-02-16 15:25:46 +00:00
2016-02-17 09:49:36 +00:00
Creating the environment.sh file. Replace [unique-to-environment] with your something unique to the environment. The local development environments are using the AWS on preview.
2016-02-16 15:25:46 +00:00
2016-02-17 10:20:40 +00:00
Create a local environment.sh file containing the following:
2016-02-16 15:25:46 +00:00
```
2016-02-17 09:49:36 +00:00
echo "
2016-02-17 10:20:40 +00:00
export NOTIFY_API_ENVIRONMENT='config.Development'
2016-02-29 13:21:12 +00:00
export ADMIN_BASE_URL='http://localhost:6012'
2016-02-17 10:20:40 +00:00
export ADMIN_CLIENT_SECRET='dev-notify-secret-key'
export ADMIN_CLIENT_USER_NAME='dev-notify-admin'
2016-02-16 15:25:46 +00:00
export AWS_REGION='eu-west-1'
2016-02-17 10:20:40 +00:00
export DANGEROUS_SALT='dev-notify-salt'
2016-02-16 15:25:46 +00:00
export DELIVERY_CLIENT_USER_NAME='dev-notify-delivery'
export DELIVERY_CLIENT_SECRET='dev-notify-secret-key'
2016-02-29 13:21:12 +00:00
export FIRETEXT_API_KEY=[contact team member for api key]
2016-02-17 17:48:23 +00:00
export FIRETEXT_NUMBER="Firetext"
2016-02-29 15:56:00 +00:00
export INVITATION_EMAIL_FROM='invites@notifications .service.gov.uk'
2016-02-29 13:21:12 +00:00
export INVITATION_EXPIRATION_DAYS=2
2016-02-29 15:56:00 +00:00
export NOTIFY_EMAIL_DOMAIN='dev.notify.works'
2016-02-17 10:20:40 +00:00
export NOTIFY_JOB_QUEUE='[unique-to-environment]-notify-jobs-queue' # NOTE unique prefix
export NOTIFICATION_QUEUE_PREFIX='[unique-to-environment]-notification_development' # NOTE unique prefix
export SECRET_KEY='dev-notify-secret-key'
2016-02-16 15:25:46 +00:00
export SQLALCHEMY_DATABASE_URI = 'postgresql://localhost/notification_api'
2016-02-29 13:21:12 +00:00
export TWILIO_ACCOUNT_SID=[contact team member for account sid]
export TWILIO_AUTH_TOKEN=[contact team member for auth token]
2016-02-17 10:20:40 +00:00
export VERIFY_CODE_FROM_EMAIL_ADDRESS='no-reply@notify .works'
2016-02-17 09:49:36 +00:00
"> environment.sh
```
NOTE: the DELIVERY_CLIENT_USER_NAME, DELIVERY_CLIENT_SECRET, NOTIFY_JOB_QUEUE and NOTIFICATION_QUEUE_PREFIX must be the same as the ones in the [notifications-delivery ](https://github.com/alphagov/notifications-delivery ) app.
2016-02-17 10:20:40 +00:00
The SECRET_KEY and DANGEROUS_SALT are the same in [notifications-delivery ](https://github.com/alphagov/notifications-delivery ) and [notifications-admin ](https://github.com/alphagov/notifications-admin ) app.
NOTE: Also note the unique prefix for the queue names. This prevents clashing with others queues in shared amazon environment and using a prefix enables filtering by queue name in the SQS interface.
2016-02-23 12:28:10 +00:00
## To run the application
You need to run the api application and a local celery instance.
There are two run scripts for running all the necessary parts.
```
scripts/run_app.sh
```
```
scripts/run_celery.sh
```