Baby Tracker Contribution Guidelines
How to contribute to the Baby Tracker open source project
Contributing to Baby Tracker
Join our community and help make Baby Tracker better for everyone
Ways to Contribute
🐛 Report Bugs
Found an issue? Help us fix it by reporting detailed bug reports.
💡 Suggest Features
Have ideas for new features? Share them with the community.
🔧 Write Code
Contribute new features, fix bugs, or improve existing functionality.
📚 Improve Documentation
Help others by improving docs, guides, and API references.
🔒 Security Review
Help keep Baby Tracker secure by reviewing code and reporting vulnerabilities.
🤝 Community Support
Help other users with questions and share your experience.
Getting Started with Development
1Fork & Clone
Fork the repository and clone your copy:
2Set Up Development Environment
Follow the setup instructions above to get your development environment running.
3Create a Feature Branch
4Make Your Changes
Implement your feature or fix following our coding standards:
- Follow PEP 8 for Python code style
- Add type hints to new functions
- Write docstrings for classes and functions
- Add tests for new functionality
- Update documentation if needed
5Test Your Changes
6Submit Your Pull Request
Then create a pull request on GitHub with a clear description of your changes.
Code Style & Standards
Python Standards
- Follow PEP 8 style guide
- Use type hints for function parameters
- Write descriptive docstrings
- Keep functions under 50 lines when possible
- Use meaningful variable names
Django Conventions
- Follow Django naming conventions
- Use Django's built-in features when possible
- Write tests for all views and models
- Use proper permission classes
- Follow REST API best practices
Git Workflow
- Use descriptive commit messages
- One feature per pull request
- Keep commits small and focused
- Rebase before submitting PR
- Reference issues in commit messages
Testing Requirements
- Write tests for new features
- Maintain high test coverage
- Include edge case testing
- Test both success and error paths
- Use Django's TestCase class
Issue Reporting & Feature Requests
Help us improve Baby Tracker by reporting issues or suggesting new features:
🐛 Bug Reports
Include the following information:
- Steps to reproduce the issue
- Expected vs. actual behavior
- Environment details (OS, Python version)
- Error messages or logs
- Screenshots if applicable
💡 Feature Requests
Help us understand your needs:
- Describe the feature clearly
- Explain the use case and benefits
- Provide examples if possible
- Consider implementation complexity
- Check if similar features exist
📋 Issue Templates
We provide issue templates to help you include all necessary information. Choose the appropriate template when creating a new issue.