Thank you for your interest in contributing to this project! Your help is greatly appreciated. Please take a moment to review these guidelines before starting.
- How to Contribute
- Code of Conduct
- Reporting Issues
- Pull Request Process
- Coding Standards
- Setting Up Development Environment
- Fork the repository: Start by forking the repository to your own GitHub account.
- Create a branch: Make sure to create a feature branch (
git checkout -b feature-name
) before starting any development. - Make your changes: Implement your feature, bugfix, or documentation update in your forked repository.
- Write tests: Ensure that new features or bugfixes are covered by appropriate tests.
- Commit your changes: Write clear, descriptive commit messages. Follow the project's commit message format.
- Push your branch: Push your feature branch to your forked repository.
- Create a pull request (PR): Open a pull request against the main branch of the original repository.
We expect all contributors to adhere to our Code of Conduct. Please be respectful, inclusive, and collaborative when interacting with others in the project.
If you encounter bugs, have feature requests, or would like to ask for help, please follow these steps:
- Check for existing issues: Before submitting a new issue, please search the existing issues to see if the problem has already been reported or addressed.
- Create a new issue: If no issue exists, create a new one. Provide as much information as possible, including steps to reproduce the bug (if applicable).
- Feature Requests: Be clear about what you'd like to see in the project and the potential use case for others.
- Fork the repository and create a new branch for your changes. Ensure the branch is based off the
main
branch. - Describe your changes: When creating a pull request, provide a clear description of what the changes are and why they are necessary.
- Ensure tests pass: Your pull request should pass all tests, and additional tests should be written for any new features.
- Review and Feedback: Be open to suggestions and feedback from project maintainers during the review process.
- Final Merge: After approval, your changes will be merged into the
main
branch.
- Python (Backend): Follow PEP 8 coding standards for Python.
- JavaScript/React (Frontend): Use Airbnb's JavaScript style guide for consistency.
- Commit Messages: Follow these conventions for commit messages:
- Use the imperative, present tense: "Fix bug" (not "Fixed bug" or "Fixes bug").
- Limit the subject line to 50 characters or less.
- Use the body to explain what changes were made and why, if necessary.
- Clone the repository and navigate to the
backend
directory. - Set up a virtual environment:
python3 -m venv venv source venv/bin/activate
- Install dependencies:
pip install -r requirements.txt
- Run the Flask app:
flask run
- Navigate to the
frontend
directory:cd frontend
- Install Node.js dependencies:
npm install
- Run the development server:
npm run dev
- Documentation: Make sure to update the documentation when applicable.
- Testing: All changes should include tests where appropriate.