Pace is a registration and management application for running events and competitions.
The list of our issues/features can be found on our Trello board.
You can check out the latest version of the app on our development environemt: http://dev.lauf-gegen-rechts.de:3000/
Currently we have following containers:
- db which provides postgres
- redis for messaging between pace components
- pace-pdf for PDF generation
- pace-app running the express pace app
Pace uses PostgreSQL to store its data. To get postgresql running on your machine during development just start the db container.
You can either run this to get the database up:
docker run -p 5432:5432 -d --name 'pace-postgres' -e POSTGRES_PASSWORD='pgtester' -e POSTGRES_DB='pace' -e POSTGRES_USER='pgtester' postgres
or just do
Whenever you start a fresh postgres instance, don't forget to initialize the
pace db - just execute
To look at the db in your terminal, just connect to the postgres container via
docker exec -it -u postgres pace-postgres psql. If you use other name for the container (e.g.
gulp start-db will result in one that is randomly generated), adapt the exec command.
To decouple our services we use Redis as the message broker. The docker-compose setup will take care of that for you, but if you still want to start it on your own, you need to ensure that it's exposed to the rest of the system. Just run:
docker run -p 6379:6379 redis:latest
- To install node, we recommend to use nvm. Look here for instructions.
- To get all the other dependencies and be able to start pace locally, just navigate to the pace folder and run:
- To install selenium:
Service generating our PDFs. Look at pace-pdf
gulp and open http://localhost:3000 in your browser.
For unit tests:
For integration tests:
For functional tests:
gulp test-functional (install selenium if needed:
To execute just a single spec, just pass
Here you go:
If you would like to contribute, we have also few blog post explaining our
technical choices and setup: