First off, thank you for considering contributing to Blog-App! It's people like you that make this project better.
By participating in this project, you are expected to uphold our Code of Conduct:
- Use welcoming and inclusive language
- Be respectful of different viewpoints and experiences
- Accept constructive criticism gracefully
- Focus on what is best for the community
- Show empathy towards other community members
Before creating bug reports, please check the existing issues list as you might find out that you don't need to create one. When you are creating a bug report, please include as many details as possible:
- Use a clear and descriptive title
- Describe the exact steps which reproduce the problem
- Provide specific examples to demonstrate the steps
- Describe the behavior you observed after following the steps
- Explain which behavior you expected to see instead and why
- Include screenshots if possible
If you have a suggestion for the project, we'd love to hear about it! Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion, please include:
- A clear and descriptive title
- A detailed description of the proposed feature
- Any possible drawbacks
- Mock-ups or examples if applicable
- Fork the repo and create your branch from
main - If you've added code that should be tested, add tests
- If you've changed APIs, update the documentation
- Ensure the test suite passes
- Make sure your code follows the existing style
- Issue that pull request!
- Create a virtual environment and activate it:
python -m venv .venv
source .venv/bin/activate # On Linux/Mac
# or
.venv\Scripts\activate # On Windows- Install development dependencies:
pip install -r requirements.txt- Make your changes and test them:
python manage.py test- Follow PEP 8 guidelines
- Use meaningful variable and function names
- Add comments for complex logic
- Keep functions focused and single-purpose
- Write descriptive commit messages
When adding new features, please maintain the existing project structure:
blog/ # Main project directory
├── blog/ # Project settings
├── members/ # User authentication app
│ ├── views.py # Authentication views
│ └── templates/ # Auth templates
└── theblog/ # Blog functionality app
├── views.py # Blog views
├── models.py # Blog models
└── templates/ # Blog templates
- Write tests for new features
- Update tests for modified features
- Ensure all tests pass before submitting PR
- Include both unit and integration tests where appropriate
- Update README.md if you change functionality
- Comment your code where necessary
- Update docstrings for any modified functions
- Add type hints to function definitions
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters
- Reference issues and pull requests liberally after the first line
Feel free to open an issue with your question or contact the maintainers directly.
By contributing, you agree that your contributions will be licensed under the MIT License.