Skip to main content
Version: 2.27.0

Contributing guide

This project is intended to be community-driven, so please, do not hesitate to get in touch if you have any question related to our implementation or design decisions.

We try to raise our code quality standards and expect contributors to follow the recommandations from our handbook.

Checking your code

We use strict flake8, pylint, isort and black linters to check the validity of our backend code:

$ make lint-back

We use strict eslint and prettier to check the validity of our frontend code:

$ make lint-front

Running tests

On the backend, we use pytest to run our test suite:

$ make test-back

On the frontend, we use karma to run our test suite:

$ make test-front

Running migrations

The first time you start the project with make bootstrap, the db container automatically creates a fresh database named richie and performs database migrations. Each time a new database migration is added to the code, you can synchronize the database schema by running:

$ make migrate

Handling new dependencies

Each time you add new front-end or back-end dependencies, you will need to rebuild the application. We recommend to use:

$ make bootstrap

Going further

To see all available commands, run:

$ make

We also provide shortcuts for docker compose commands as sugar scripts in the bin/ directory:

├── exec
├── pylint
├── pytest
└── run

More details and tips & tricks can be found in our development with Docker documentation