Welcome to the project documentation. Use this index to navigate all available guides.
Background concepts and design decisions.
| Document | Description |
|---|---|
| Code Review and Ownership Philosophy | Why we review code the way we do, and how ownership is assigned |
| Dataset Detail Page | Overview of the dataset detail page feature |
| Upload Mechanism | High-level upload, scan, and storage flow |
| GitHub Issue Integration | How GitHub issues are created and synced for dataset reviews |
| Dropbox and S3 Storage Spike | Earlier provider comparison; superseded by the final S3 storage reference |
Step-by-step guides for common tasks.
| Document | Description |
|---|---|
| How to Write a Commit Message | Conventional Commits format, types, scopes, and size rules |
| Pull Request Size Guidelines | Keeping PRs small, focused, and reviewable |
| How to Do a Code Review | Step-by-step guide for authors and reviewers |
| CI Pipeline | Lefthook pre-commit checks: setup, installation, and usage |
| Document | Description |
|---|---|
| Testing Guide | Overview of all test types, when to use each, and PR expectations |
| Unit Testing Guide | How to write unit tests (AAA pattern, mocking, examples) |
| Integration Testing Guide | How to write integration tests (DB, boundaries, stability) |
| End-to-End Testing Guide | How to write E2E tests (critical flows, data setup, flakiness) |
| Backend Testing Environment | pytest fixtures, in-memory DB, coverage, and CI output |
| Local S3-Compatible Storage | How to run local MinIO for direct upload and storage lifecycle testing |
| Document | Description |
|---|---|
| Migrating the Database | How to run Alembic migrations |
Technical specifications and API details.
| Document | Description |
|---|---|
| Authentication | GitHub OAuth, refresh/logout, /api/auth/me, route protection, and retained backend auth endpoints |
| User Endpoint Contract | /api/user request parameters, response shapes, authentication, and authorization rules |
| Docker Build & Publish | GHCR image publishing, tagging scheme, local build, troubleshooting |
| S3 Storage Architecture and Local Setup | S3-compatible storage architecture, env vars, MinIO setup, CORS, lifecycle cleanup, and permissions |
| Frontend Routing | React Router setup, adding routes, 404 handling |
| Frontend Testing Reference | Testing Library queries, test structure, Vitest commands |
| Dataset Detail Page | Routes, data types, and test locations for the dataset detail page |
| Croissant Metadata Input Page | Field guidance, expected formats, scenarios, and troubleshooting for the metadata form |
Note:
references/routing.mdcontains a duplicate ofreference/routing.md. See references/routing.md.