Thank you for considering contributing to this project! We are excited to have you on board. This repository is a Face Recognition System built with Streamlit, Python, and Redis DB. To maintain a high-quality codebase, we ask that you follow these guidelines.
- Contributing to the Face Recognition System with Streamlit
To contribute, follow these steps to get a local copy of the project set up:
Click the Fork button in the top right corner of the repository page to create a copy of this repository under your GitHub account.
Clone your forked repository to your local machine:
git clone https://github.com/your-username/face-recognition-system.git
Navigate to the project folder and install the required dependencies:
cd face-recognition-system
pip install -r requirements.txt
If you find a bug, have a feature request, or need help, please feel free to open an issue. When opening an issue:
- Be descriptive and provide as much context as possible
- Use the provided issue templates if applicable
We welcome contributions in the form of pull requests! Here's how to submit one:
- Create a new branch:
git checkout -b feature/your-feature-name
- Make your changes and commit them:
git add .
git commit -m "Brief description of your changes"
- Push your changes:
git push origin feature/your-feature-name
- Create a Pull Request:
- Go to the original repository and open a pull request
- Ensure your PR follows the project structure
- Verify it doesn't break existing functionality
- Include tests or clear explanations for new features
We use the following code style guidelines:
Use Black for automatic formatting:
# Check formatting
black --check .
# Format code
black .
We use Flake8 to check code quality:
flake8 .
- Start Redis Server:
redis-server
- Run Streamlit App:
streamlit run app.py
- Access the app at http://localhost:8501
pip install pre-commit
pre-commit install
pre-commit run --all-files
When opening an issue:
- Be descriptive about the problem
- Include steps to reproduce the issue
- For feature requests, explain the feature in detail and why it would be beneficial
We use different issue templates to track various types of issues. When creating a new issue, please select the appropriate template from the list:
- 🐞 Bug Report – If you found a bug or error in the system.
- 🔖 Documentation Update – If you think the documentation needs improvements.
- ✨ Feature Request – If you have an idea for a new feature or enhancement.
- 👯♂️ Style Change Request – If you would like to suggest changes to the design or styling.
⚠️ Security Vulnerability – If you discovered a security issue, please follow our security policy.
Click on the "New issue" button above to get started, and please select the relevant template!
If you have any questions, feel free to reach out through:
- The Issues section
- Discussions section in the repository
We are happy to assist you!
We are excited to have you contribute to the project! By following these guidelines, you'll help ensure that the project stays clean, maintainable, and easy to use for everyone.
Happy coding! 😄