From 5b073341a09d8e5bffb48475e1c9e4df6252b393 Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Thu, 3 Mar 2016 07:41:53 +0000 Subject: [PATCH] Add frontend install and build to bootstrap script MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Now you don’t need to remember what the two commands are and when you need to run them, you can just run the bootstrap script instead. Makes sense to have them here since the `pip install` is also in here. --- README.md | 43 +++++++++++++++++-------------------------- scripts/bootstrap.sh | 2 ++ 2 files changed, 19 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 6e0f3b741..23dd3de7a 100644 --- a/README.md +++ b/README.md @@ -4,52 +4,49 @@ # notifications-admin -Application to handle the admin functions of the notifications application. +GOV.UK Notify admin application. ## Features of this application - - Register users - - Register services - - Download CSV for an email or SMS batch + - Register and manage users + - Create and manage services + - Send batch emails and SMS by uploading a CSV - Show history of notifications - - Reports ## First-time setup -You need [Node](http://nodejs.org/) which will also get you [NPM](npmjs.org), -Node's package management tool. +Languages needed +- Python 3 +- [Node](http://nodejs.org/) 5.0.0 or greater ```shell brew install node ``` -n is a tool for managing different versions of node. The following installs n -and uses the latest version of 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 frontend dependencies are managed using NPM and Bower. To install or update -*all the things*, run -```shell - npm install - npm run build -``` - The app runs within a virtual environment. To [install virtualenv](https://virtualenv.readthedocs.org/en/latest/installation.html), run ```shell [sudo] pip install virtualenv ``` -To make a virtualenv for this app, run +Make a virtual environment for this app: ```shell mkvirtualenv -p /usr/local/bin/python3 notifications-admin - pip install -r requirements.txt +``` + +Install dependencies and build the frontend assets: +```shell ./scripts/bootstrap.sh ``` -## Building the frontend +## 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 @@ -64,10 +61,4 @@ in a separate terminal from the app ./scripts/run_app.sh ``` -Then visit [localhost:6012](localhost:6012) - -## Domain model - -All the domain models are defined in the -[models.py](https://github.com/alphagov/notifications-admin/blob/master/app/models.py) -file. +Then visit [localhost:6012](http://localhost:6012) diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh index cd3ffb715..82274e091 100755 --- a/scripts/bootstrap.sh +++ b/scripts/bootstrap.sh @@ -27,3 +27,5 @@ fi # Install Python development dependencies pip3 install -r requirements_for_test.txt + +npm install && npm run build