passit-frontend
v0.0.3
Published
passit-frontend is the angular client for [Passit](passit.io).
Downloads
5
Readme
Passit Front
passit-frontend is the angular client for Passit.
We use smart and dumb components with ngrx/store. Read about it here
API and crypto interaction are handled by passit-sdk-js.
Development server
This project uses docker compose.
- Install docker and docker-compose
- Run
docker-compose up
The front end is now running on localhost:4200 and the backend docker image is running on localhost:8000
(If using Docker Machine, host may not be localhost)
Live reload should be enabled, if it isn't working try increasing the max_user_watches by running
sudo echo "fs.inotify.max_user_watches=524288" >> /etc/sysctl.conf
sudo sysctl fs.inotify.max_user_watches=524288
Run any one off commands like docker-compose run --rm app bash
to execute them inside the docker container.
Rebuilding when changing package.json
If you need to run npm install
you'll want to instead run docker-compose build
and docker-compose rm -v app
to remove the old container.
This is because node_modules are kept in a docker volume.
This is not ideal - if you know how to build node_modules into the container itself instead of a volume please let us know.
Running unit tests
Run npm test
to execute the unit tests via Karma.
Unit tests run in PhantomJS without a browser. This works because Crypto functions should always be mocked. Crypto related tests should always be part of passit-sdk-js
Running end-to-end tests
Run npm run e2e
to execute the end-to-end tests via Protractor.
Before running the tests make sure you are serving the app via npm start
You can also run them on Saucelabs, which is what happens on Gitlab CI:
npm start
# in new window
env CI=true SAUCE_USERNAME=... SAUCE_ACCESS_KEY=... npm run e2e
To get more help on the angular-cli
use ./node_modules/.bin/ng --help
or go check out the Angular-CLI README.
To Lint
$ npm run lint
Technologies used
- Angular2 with TypeScript
- NativeScript for mobile
- Webpack
- Testing Jasmine, Karma, and Protractor