diff options
| -rw-r--r-- | CLAUDE.md | 37 |
1 files changed, 1 insertions, 36 deletions
@@ -21,42 +21,7 @@ pnpm db:push # Push schema changes to DB ## Architecture -- **Backend**: Hono on Node.js 22 (built with esbuild) — `src/server/` -- **Frontend**: React 19 + Vite — `src/client/` -- **Shared**: Common utilities — `src/shared/` -- **Database**: PostgreSQL with Drizzle ORM — schema in `src/server/db/` -- **Migrations**: SQL files in `drizzle/` - -### Backend Structure (`src/server/`) - -Repository pattern with dependency injection. Routes → Services → Repositories → Drizzle ORM. - -- `routes/` — API endpoint handlers -- `repositories/` — Data access layer -- `middleware/` — Auth, CORS, error handling, rate limiting -- `schemas/` — Zod validation schemas -- `services/` — Business logic -- `types/` — TypeScript interfaces (includes repository interfaces) -- `db/schema.ts` — Drizzle database schema - -### Frontend Structure (`src/client/`) - -- `pages/` — Route-level page components -- `components/` — Reusable React components -- `atoms/` — Jotai state management atoms -- `api/` — API client -- `db/` — Dexie.js IndexedDB schema (offline storage) -- `sync/` — Sync engine (client ↔ server) -- `utils/` — Utilities (CSV parser, template renderer) - -### Key Libraries - -- **State**: Jotai (atoms suffixed with `Atom`) -- **Routing**: Wouter -- **Styling**: Tailwind CSS v4 -- **Sync**: Automerge CRDT for conflict-free offline sync -- **Scheduling**: ts-fsrs (spaced repetition algorithm) -- **Validation**: Zod +See [docs/dev/architecture.md](docs/dev/architecture.md) for details. ## Code Style |
