0.0.3 • Published 7 years ago

passit-frontend v0.0.3

Weekly downloads
-
License
AGPL-3.0
Repository
gitlab
Last release
7 years ago

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.

  1. Install docker and docker-compose
  2. 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