Skip to content

Latest commit

 

History

History
93 lines (64 loc) · 3.06 KB

File metadata and controls

93 lines (64 loc) · 3.06 KB

Contributing to CO₂ Calculator

Thanks for your interest in contributing! This guide covers the essentials to get you started quickly.

Quick Start

New contributors follow this workflow:

  1. Create or pick an issue describing your fix/feature
  2. Branch from dev: git checkout -b issue-123-feature-name
  3. Code with tests and documentation
  4. Run make ci to validate locally
  5. Push and create PR to dev
  6. Address review feedback (1-2 days)
  7. Merge → Auto-deploys to dev environment

TL;DR: Issue → Branch → Code → Test → PR → Review → Merge

Development Setup

Prerequisites: Node.js 24+, Python 3.14+, Docker, GNU Make

Install dependencies and start coding:

make install  # Install all dependencies
make ci       # Run all checks before pushing

Run services for local development:

cd backend && make dev   # Backend on :8000
cd frontend && make dev  # Frontend on :9000

See detailed setup in backend and frontend README files.

Commit Convention

Use conventional commits for automated changelog generation:

feat: add user authentication
fix: resolve database connection timeout
docs: update API documentation
test: add integration tests for payments

Types: feat, fix, docs, test, refactor, style, chore

Pull Request Checklist

Before requesting review, ensure:

  • Code follows our standards (linter passes)
  • Codecov tests added/updated with 60% coverage minimum
  • Documentation updated for new features
  • make ci passes locally
  • Commit messages follow convention
  • PR describes what/why of changes
  • No secrets or hardcoded credentials

See PR template for full checklist.

Code Standards Summary

  • Never commit secrets - Use environment variables
  • Test coverage: 60% minimum (following Codecov reports)
  • Naming: snake_case (Python), camelCase (JS/TS), kebab-case (files)
  • Accessibility: WCAG Level AA for UI components
  • Dependencies: Pin exact versions, security updates only

Full standards in code standards

Need Help?

More Documentation


Thank you for contributing to sustainability research at EPFL!