mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-04 18:32:33 -05:00
0201825c45e9949292cc818c67e06bef26c55f36
Similar to how PEP8 enforces Python style, there are tools for front end code: - jshint[1] for Javascript - sass-lint[2] for SASS This commit adds the Gulp plugins for both, and sets up some sensible rules (which can be iterated on). It also adds a command to `./scripts/run_tests.sh`, so that any errors in the front end code will fail the build before it has a chance to be deployed. 1. http://jshint.com/ 2. https://www.npmjs.com/package/sass-lint
…
…
…
…
…
…
…
notifications-admin
Application to handle the admin functions of the notifications application.
Features of this application
- Register users
- Register services
- Download CSV for an email or SMS batch
- Show history of notifications
- Reports
First-time setup
You need Node which will also get you NPM, Node's package management tool.
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 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
npm install
npm run build
The app runs within a virtual environment. To install virtualenv, run
[sudo] pip install virtualenv
To make a virtualenv for this app, run
mkvirtualenv -p /usr/local/bin/python3 notifications-admin
pip install -r requirements.txt
./scripts/bootstrap.sh
Building the frontend
If you want the front end assets to re-compile on changes, leave this running in a separate terminal from the app
npm run watch
Running the application
workon notifications-admin
./scripts/run_app.sh
Then visit localhost:6012
Domain model
All the domain models are defined in the models.py file.
Description
Languages
Python
69.3%
HTML
16.6%
JavaScript
11.1%
SCSS
0.9%
Nunjucks
0.7%
Other
1.4%