Architecture Decision Records¶
This directory holds TomeTrove's ADRs. Each ADR is a short markdown file capturing a single architectural decision — the context that forced it, the chosen option, and the consequences of living with that choice.
Index¶
| ADR | Title | Status |
|---|---|---|
| 0001 | Adopt TypeScript as the primary language | Accepted |
| 0002 | Cloudflare Workers as the compute platform | Accepted |
| 0003 | Database: D1 vs TiDB Cloud Starter | Accepted |
| 0004 | Book metadata source | Accepted |
| 0005 | Media / cover image storage | Accepted |
| 0006 | Authentication model | Accepted |
| 0007 | Frontend delivery strategy | Accepted |
| 0008 | HTTP routing & API structure | Accepted |
| 0009 | Schema management & migrations | Accepted |
| 0010 | Testing strategy | Accepted |
| 0011 | Learning approach: TypeScript via PHP parallelism | Accepted |
| 0012 | Method binding strategy | Accepted |
| 0013 | Store integration architecture | Accepted |
| 0014 | Scheduled price fetching & background processing | Accepted |
| 0015 | Alert/notification delivery | Accepted |
| 0016 | Data normalization pipeline | Accepted |
| 0017 | Public list sharing | Accepted |
| 0018 | Book classification ontology data model | Accepted |
| 0019 | Ontology internationalization architecture | Accepted |
| 0020 | Date and time storage convention | Accepted |
| 0021 | Data erasure and export | Accepted |
| 0022 | UI string internationalization | Accepted |
| 0023 | Logging and monitoring | Accepted |
Statuses¶
- Draft — decision not yet taken; the ADR frames the question and options.
- Proposed — a decision is written but not yet accepted.
- Accepted — the decision is final and in force.
- Superseded — replaced by a later ADR (links to the successor).
- Deprecated — no longer relevant; no replacement.
Format¶
Each ADR follows this template:
# ADR NNNN: Title
- Status: Draft | Proposed | Accepted | Superseded by NNNN | Deprecated
- Date: YYYY-MM-DD
## Context
Why does this decision need to be made? What constraints are in play?
## Decision
The chosen option, stated plainly. "To be decided" while in Draft.
## Consequences
What becomes easier, harder, or impossible because of this decision.