Skip to content

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.