First off, thank you for considering contributing to devcord project! 🎉
By participating in this project, you agree to maintain a respectful and inclusive environment for everyone.
- Check Existing Issues - Ensure the bug hasn't already been reported
- Include Relevant Details:
- Django version
- Python version
- Browser/OS if frontend-related
- Error logs/screenshots
- Check Feature Requests - See if it's already been suggested
- Explain the Use Case - How will this feature improve the chat experience?
- Consider Scope - Is this aligned with the project's goals?
- Fork the Repository
- Create a Feature Branch:
git checkout -b feature/amazing-feature - Follow Coding Standards (see below)
- Add/Update Tests for your changes
- Update Documentation if needed
- Submit PR with clear description
- Python 3.8+
- Django 3.2+
- SQLite
# Clone your fork
git clone https://github.com/your-username/devcord.git
cd devcord
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run migrations
python manage.py migrate
# Create superuser (optional)
python manage.py createsuperuser
# Run development server
python manage.py runserver- Follow PEP 8
- Use Django coding style conventions
- Maximum line length: 88 characters (Black formatter)
- Use type hints where appropriate
- Add docstrings to model classes
- Define
__str__methods - Use verbose names for fields
- Add proper related_name for ForeignKeys
- Use Class-Based Views when appropriate
- Keep views focused and simple
- Use Django REST Framework for APIs
- Handle WebSocket connections in consumers.py
- Use Django template language features
- Extend base templates
- Keep templates simple and readable
- Check the README.md for basic info
- Review existing issues and PRs
- Ask questions in issue discussions
Contributors will be:
- Listed in the project's CONTRIBUTORS.md
- Acknowledged in release notes
- Given credit for their work
Thank you for contributing to making devcord better! 💬