Thanks for your interest in contributing! This guide covers what you need to get started.
- Docker and Docker Compose (for backend services)
- Node.js 18+ and npm (for the React frontend)
- Python 3.11+ (for the FastAPI backend, if running outside Docker)
# Start all backend services
docker compose up -d
# Or run FastAPI directly for local development
pip install -r requirements.txt
uvicorn app.main:app --reloadcd frontend
npm install
npm run devThe frontend dev server proxies API requests to the backend automatically.
We use black for formatting and ruff for linting.
black .
ruff check --fix .We use prettier for formatting.
npx prettier --write "src/**/*.{js,jsx,ts,tsx}"Please run formatters before committing. If the project includes pre-commit hooks, install them with:
pre-commit install- Fork the repository and clone your fork.
- Create a feature branch from
main:git checkout -b feature/your-change
- Make your changes with clear, focused commits.
- Ensure tests pass:
# Backend pytest # Frontend npm test
- Push to your fork and open a Pull Request against
main.
- Keep PRs small and focused on a single change.
- Include a brief description of what changed and why.
- Reference any related issues (e.g., "Closes #42").
- Make sure CI checks pass before requesting review.
Open an issue on GitHub Issues with:
- Steps to reproduce
- Expected vs. actual behavior
- Environment details (OS, browser, Python/Node version)
If something is unclear, open a discussion or issue and we will be happy to help.