Contributing to the Project¶
Hey! We are happy to see you willing to contribute to this project. Before you go ahead, kindly discuss the changes you wish to make through issues, discussions, or email. Also, make sure you check out our CODE OF CONDUCT to contribute and participate in this project.
How to contribute¶
To contribute to the repository, the repository has to be forked into your own Github account and then cloned to create a local repository in your machine. The instructions to setup the project is described in README. We strongly advice to create a new branch for each of your contribution which will be merged after the contribution has been reviewed.
Writing Code¶
Please follow the style guide that has been maintained in the codebase of the repository. Looking at existing code shoudl help you understand the structure better. For testing purposes, use unittest. Take a look at Testing in Django for more information. ### Before you push Please ensure you run tests and flake8 to check for errors before you push to github. Use black to format code.
Pull request process¶
Make a pull before pushing the changes to a new branch that is dedicated for the change you are going to make.
After pushing your contribution to the new branch, make sure all tests are passing before making a pull request to merge the changes with the develop branch. Owners of the repository will look out for new Pull Requests and review them timely. Another layer of merge happens from develop to main branch after final review.
Kindly add required documentation in README.md and comment on the PRs to elaborate on the changes that were made.
Additional tips!¶
Report a bug by opening an Issue on Github. Be specific about the bug; Talk about the difference in functionality from what is expected to what has happened.
If you are fixing a bug, make sure you add a test and ensure that it fails before you go fix the bug.
Always add a test.
If it is a new feature, open an issue to discuss it with any of the maintainers.
Our GitHub Discussions can be used to discuss some potential features or aout bug fixes.
Thank you and looking forward to your contributions!