Thank you for considering contributing to the University Education Platform!
Please take a moment to review these guidelines before submitting changes.
- Python 3.8+
- PostgreSQL 12+ (or your preferred DBMS)
- Redis (for caching/queues)
- Git
- Fork and clone the repository
- Create a virtual environment:
python -m venv venv source venv/bin/activate # Linux/Mac venv\Scripts\activate # Windows
- Install dependencies:
pip install -r requirements.txt pip install -r requirements-dev.txt
- Set up environment variables (copy
.env.exampleto.env) - Run the development server:
flask run --debug
main- Production-ready codedevelop- Integration branchfeature/*- New featuresfix/*- Bug fixesdocs/*- Documentation changes
Follow Conventional Commits:
<type>(<scope>): <subject>
<body>
<footer>
Common types:
feat: New featurefix: Bug fixdocs: Documentation changesrefactor: Code refactoringtest: Test additionschore: Maintenance tasks
- Create a feature branch from
develop - Ensure all tests pass (
pytest) - Update documentation if needed
- Open PR with:
- Clear description of changes
- Screenshots for UI changes
- Reference to related issues
- Follow PEP 8
- Type hints for all new code
- Docstrings following Google style
- Blueprints for route organization
- Services layer for business logic
- SQLAlchemy for database operations
- JWT for authentication
- Pytest for unit/integration tests
- 80%+ test coverage expected
- Factory Boy for test data
Include:
- Expected vs actual behavior
- Steps to reproduce
- Environment details
- Relevant logs/screenshots