Thank you for your interest in contributing to Bible-Verse-Finder! We appreciate your help in making this project better. Please follow the guidelines below to ensure that the contribution process is clear and efficient.
- How Can I Contribute?
- Reporting Bugs
- Suggesting Enhancements
- Pull Requests
- Code Style Guidelines
- Commit Message Guidelines
- Tech Stack
- Moving to Next.js
- Additional Resources
You can contribute to this project in several ways:
- Add Github username to
contributors.md
- Reporting bugs
- Suggesting new features or improvements
- Writing code (Flask, Machine Learning, Typescript)
- Updating documentation
- Helping with the transition to Next.js (if you are familiar with it)
If you discover a bug, please submit an issue and include:
- A descriptive title and detailed explanation
- Steps to reproduce the bug
- Any relevant error logs or screenshots
- Environment information (OS, browser, Python version, etc.)
If you have ideas for improving the project, open an issue with:
- A clear description of the enhancement
- Why you think it's a valuable addition
- Any alternative solutions you have in mind
We welcome pull requests! If you're working on a significant change, it's a good idea to open an issue or start a discussion first.
- Fork the repository.
- Create a new branch for your feature or bug fix:
git checkout -b feature/your-feature-name
- Make your changes, ensuring they follow the project's coding standards.
- Commit your changes
- Push your branch to your fork:
git push origin feature/your-feature-name
- Open a pull request, detailing the changes you've made and linking to relevant issues.
- Focus your pull request on a single feature or fix.
- Ensure your code is well-tested and passes all checks.
- Link your pull request to any relevant issue(s).
- Be sure to update any relevant documentation.
To maintain code consistency, please adhere to the following style guidelines:
- Flask & Python:
- Follow PEP 8 coding standards.
- Use type hints when possible for clarity.
- Avoid large functions; keep them modular and reusable.
- Machine Learning:
- Keep your ML code modular. Use pre-trained models where applicable.
- Ensure your model code is reproducible and well-documented.
- HTML:
- Write clean and semantic HTML.
- Stick to responsive design principles.
For consistency, use Black for Python code formatting and ensure all code passes our linting checks before submission.
Commit messages should follow these conventions:
- Format:
type(scope): message
- Example:
feat(ML): Add new Bible verse search model
- Example:
- Types:
feat
: A new featurefix
: A bug fixdocs
: Documentation changesstyle
: Code style changes (formatting, missing semi-colons, etc.)refactor
: Code changes that neither fix a bug nor add a featuretest
: Adding or updating testschore
: Miscellaneous tasks
Currently, the project is built using the following technologies:
- Backend: Flask (Python)
- Frontend: HTML, CSS, JavaScript
- Machine Learning: Python libraries such as scikit-learn
Note: After 2 weeks with no commits or messages,you will be removed from your assigned issue.
Thank you for contributing to Bible-Verse-Finder!