Thanks for helping improve this project! We follow a lightweight Git flow with continuous integration via GitHub Actions. Please read this guide before opening a PR.
- The most up-to-date branch.
- All new features and fixes should be merged here first.
- Protected via GitHub Actions (Jest + Django tests).
- Created from
devat the beginning of a release cycle. - Example:
2025.04 - Frozen at release time and used for hotfixes during the release lifecycle.
Use descriptive, kebab-case names:
feature/add-participant-tablebugfix/login-crashhotfix/patch-consent-flow
-
Start from
dev
Create your feature branch from thedevbranch. -
Develop
Make atomic commits. Run all tests locally. -
Push + PR
Open a pull request intodev. -
Tests
All PRs must pass GitHub Actions (Jest + Django tests). -
Review
Include screenshots or test results where relevant.
- Create a release branch from
dev
Example:git checkout dev git pull git checkout -b 2025.04
- Bump version number and tag (in code or via CI/CD)
- Push the branch:
git push origin 2025.04 git tag v2025.04.0 git push origin v2025.04.0
- All production hotfixes should be PRβd into the release branch (not dev).
This project uses:
- Django tests for backend (server).
- Jest tests for frontend (client).
CI runs both on all pull requests.
Your contributions make this project better.
Donβt hesitate to open issues or suggest improvements:
- π Bug Report
- β¨ Feature Request
- π User Story