Thank you for your interest in contributing to the FPL Dashboard! This document provides guidelines for contributing to this project.
- Python 3.11+
- Git
- A GitHub account
- Basic knowledge of Python and Streamlit
-
Fork the repository
-
Clone your fork:
git clone https://github.com/your-username/fpl-dashboard-streamlit.git cd fpl-dashboard-streamlit -
Set up development environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt
-
Create your config:
cp config_template.py config.py # Edit config.py with your test league data
- Follow PEP 8 Python style guidelines
- Use meaningful variable and function names
- Add docstrings to functions and classes
- Keep functions focused and small
- NEVER commit private data (league IDs, API keys, credentials)
- Use the configuration system for all user-specific data
- Test with generic/example data only
- Ensure all sensitive files are in
.gitignore
- Test your changes with different league configurations
- Verify the dashboard works with various data scenarios
- Test both local and deployment scenarios
- Ensure no private data is exposed
git checkout -b feature/your-feature-name- Write clean, documented code
- Follow existing patterns
- Add error handling
- Update documentation if needed
# Test the dashboard
streamlit run app.py
# Test the data pipeline
python data_pipeline.pygit add .
git commit -m "feat: add new award calculation"git push origin feature/your-feature-name- Use the bug report template
- Include steps to reproduce
- Provide environment details
- Add error logs if available
- Use the feature request template
- Describe the problem and proposed solution
- Consider the impact on existing users
- Provide mockups or examples if possible
- Use the setup help template
- Include your configuration details
- Describe what you've tried
- Provide error messages
-
Update
data_pipeline.py:- Add award logic in the main processing loop
- Include proper error handling
- Use generic data for testing
-
Update
app.py:- Add award to the display logic
- Include in the awards configuration
- Add proper styling
-
Update Documentation:
- Add award description to README
- Update configuration examples
- Add to troubleshooting guide
- Maintain backward compatibility
- Update documentation
- Test with various league configurations
- Consider impact on existing users
- Test workflows locally first
- Use secrets for sensitive data
- Add proper error handling
- Document any new environment variables
- Test deployment configuration
- Update secrets documentation
- Ensure compatibility with Streamlit Cloud
- Test with different user configurations
- Keep setup instructions current
- Add new features to the features list
- Update troubleshooting section
- Include screenshots for new features
- Add docstrings to new functions
- Update inline comments
- Document configuration options
- Add examples for complex features
- Code follows style guidelines
- No private data committed
- Tests pass locally
- Documentation updated
- Self-review completed
- Code quality and style
- Security considerations
- Performance impact
- Documentation completeness
- Backward compatibility
- New award calculations
- Improved scoring algorithms
- Historical award tracking
- Award comparison features
- New chart types
- Interactive features
- Mobile responsiveness
- Custom themes
- Performance optimizations
- Caching improvements
- Error handling enhancements
- Deployment automation
- Setup guides
- Video tutorials
- API documentation
- Troubleshooting guides
- Discussions: Use GitHub Discussions for questions
- Issues: Create an issue for bugs or feature requests
- Documentation: Check README.md and existing issues first
Contributors will be:
- Listed in the README
- Mentioned in release notes
- Credited in the project documentation
Thank you for contributing to the FPL Dashboard! 🏆⚽