Skip to content

Contributing

You want to contribute to the project ? First, thank you very much! We'll try to do our best to help you getting started.

The first step is to clone the project, you can find more information about that in the getting started guide. Once that's done, you can:

  • choose a task on the board and assign it to yourself - if you don't know which task to do, feel free to reach to us.
  • create a new branch from develop naming it to reflect what you want to do
  • complete the task, without forgetting to write and run tests (see below)
  • create a Merge Request, containing as many details as possible about what you have done

Then, a maintainer will be able to review your code and suggest improvements/ask questions if necessary.

If you think your Merge Request should be reviewed by one or more specific person (because their expertise would be needed), feel free to add them as reviewer of your MR. Only maintainers can merge into develop and main.

Thanks again, and happy coding!

Merging rules

In order to be merged, your code needs to be reviewed by two maintainers. If you feel the review is taking too long, please feel free to send us a message or to ping us on Discord.

Working on the frontend

To recompile the files as soon as changes are detected in the scss files.

sass --watch --no-source-map ./la_chariotte/static/sass/style.sass:./la_chariotte/static/css/app.css

Running tests

Run tests with pytest:

pytest

Formatting your code

Once you're ready, you'll need to ensure your code is formatted the right way. We're using isort to fix the import order, and black for general linting.

You can run them with:

isort .
black .

Working with emails

To test the appearance of emails, you can use Sendria:

pip install sendria
sendria --db mails.sqlite
$NAVIGATOR http://127.0.0.1:1080

Docs

We're using MkDocs for this documentation. If you want to build it locally, just run:

mkdocs serve