Thank you for considering contributing to the Bike Helmet Detection project. Contributions are essential to make this project better and more reliable for users worldwide. Whether you are fixing a bug, improving the documentation, adding features, or enhancing the codebase, we welcome your efforts.
- Getting Started
- Code of Conduct
- How to Contribute
- Submitting Changes
- Pull Request Guidelines
- Setting Up the Project Locally
- Testing
- Code Quality
- Contact
- Please read through the readme.md file.
- Open the issue if you have any.
- Feel free to create a pull request
- If you encounter any bug or feature request.
- Have any questions? or Solve others queries at Community discussion
To start contributing:
- Fork this repository.
- Clone the fork to your local machine:
git clone https://github.com/<your-username>/Bike-Helmet-Detection.git
- Create a new branch for your changes:
git checkout -b feature/your-feature-name
- Install the required dependencies using:
pip install -r requirements.txt
By participating in this project, you agree to abide by the Code of Conduct. Please treat others with respect and professionalism.
If you find a bug or have a feature request, open an issue on the Issues page. Ensure to provide:
- A clear description of the issue or feature request.
- Steps to reproduce the issue, if applicable.
- Any relevant logs or screenshots.
Help us improve the documentation by:
- Fixing typos or grammatical errors.
- Adding examples or more detailed explanations.
- Updating outdated sections.
Follow these steps:
- Ensure your changes align with the project’s goals and architecture.
- Open a new issue describing the feature or bug.
- Wait for approval from a maintainer before starting work.
- Commit your changes with clear and concise messages:
git add . git commit -m "[Feature] Add feature description"
- Push your branch to your forked repository:
git push origin feature/your-feature-name
- Open a pull request to the
main
branch of the original repository. - Link your pull request to the corresponding issue, if applicable.
- Follow up on reviews and address feedback promptly.
- Ensure all changes are well-documented and tested.
- Keep your PR small and focused on a single issue or feature.
- Run all tests and linters before submitting:
tox isort . black . python manage.py test
- Update the
README.md
file if your changes affect the usage or functionality of the project.
To set up the project locally, follow these steps:
- Clone the repository.
- Set up a Python virtual environment:
python3 -m venv .venv source .venv/bin/activate # Linux/Mac .\.venv\Scripts\activate # Windows
- Install dependencies:
pip install -r requirements.txt
- Apply database migrations:
python manage.py makemigrations python manage.py migrate
- Run the development server:
python manage.py runserver
Testing is crucial to maintain project stability. Ensure you:
- Write unit tests for any new feature or bug fix.
- Run tests using:
python manage.py test
- Check test coverage:
coverage run manage.py test coverage report -m
- Generate an HTML coverage report:
coverage html
Maintain high-quality code by following these standards:
- Code Formatting: Use Black:
black .
- Static Typing: Use Mypy:
mypy .
- Import Sorting: Use Isort:
isort .
- Testing Across Environments: Use Tox:
tox
If you have any questions or need further assistance:
- Open a discussion on the Discussions page.
Thank you for contributing! Together, we can make this project even better.