If you want to contribute, we ask you to follow these guidelines.
If you have encountered a bug in this project, please check if an issue already exists in the list of existing issues. If such an issue does not exist, you can create a new issue. When writing the bug report, try to add a clear example that shows how to reproduce said bug.
Before making making changes to the code, we advise you to first check the list of existing issues for this project to see if an issue for the suggested changes already exists. If such an issue does not exist, you can create a new issue. Creating an issue gives an opportunity for other developers to give tips even before you start coding.
To keep the code clean and readable, this project uses:
isort
to order the importsblack
to format the code and keep diffs for pull requests smallflake8
to clean up code (removing unused imports, etc.)
Whenever a branch is pushed or a pull request is made, the code will be checked in CI by the tools mentioned above, so make sure to install these tools and run them locally before pushing branches/making pull requests.
This project aims to meet the criteria of the Standard for Public Code. Please make sure that your pull requests are compliant, that will make the reviews quicker.
In order to implement changes to this project when you do not have rights for this repository, you must first fork the repository. Once the repository is forked, you can clone it to your local machine.
On your local machine, create a new branch, and name it like:
feature/some-new-feature
, if the changes implement a new featureissue/some-issue
, if the changes fix an issue
Once you have made changes or additions to the code, you can commit them (try
to keep the commit message descriptive but short). If an issue already exists
in the list of existing issues for the changes you made, be sure to
format your commit message like
:gitmoji: Fixes #<issue_id> -- description of changes made
, where
<issue_id>
corresponds to the number of the issue on GitHub. To demonstrate
that the changes implement the new feature/fix the issue, make sure to also add
tests to the existing Django testsuite.
If all changes have been committed, you can push the branch to your fork of the
repository and create a pull request to the master
branch of this project's
repository. Your pull request will be reviewed, if applicable, feedback will be
given and if everything is approved, it will be merged.
All pull requests will be reviewed by a project member before they are merged to a release branch.