docs: readme with quickstart

This commit is contained in:
2026-05-20 21:30:27 +02:00
parent f88b4d57de
commit 9300af2820

57
README.md Normal file
View File

@@ -0,0 +1,57 @@
# Flashcard
Single-user lokale flashcard webapplicatie met hiërarchische lessen, spaced repetition (Leitner), Excel import/export en statistieken.
## Snelstart
```bash
npm install
npm run db:migrate
npm run db:seed # optioneel, voegt demo data toe
npm run dev # backend op :3000, frontend op :5173
```
Open http://localhost:5173.
## Build (productie)
```bash
npm run build
npm start # backend serveert frontend + API op :3000
```
## Tests
```bash
npm test # unit tests (backend)
npm run e2e # playwright smoke
```
## Excel-formaat
Eén werkblad met header-rij. Kolommen:
- `question` (verplicht)
- `answer` (verplicht)
- `hint` (optioneel)
- `lesson_path` (optioneel, bv. `Spaans/Begroetingen`)
Bij import kun je kiezen of bestaande kaarten (zelfde vraag in dezelfde les) worden bijgewerkt en of onbekende lessen worden aangemaakt.
## Architectuur
Monorepo (npm workspaces):
- `packages/shared` — gedeelde TypeScript types en Zod schemas
- `packages/backend` — Express 4 + Drizzle ORM + better-sqlite3
- `packages/frontend` — React 18 + Vite + Tailwind + Zustand + Framer Motion
## Spaced repetition
Leitner-systeem met 5 dozen:
- Nieuwe kaart → doos 1 (direct due)
- Goed → naar volgende doos, langer wachten (1d, 3d, 7d, 14d)
- Fout → terug naar doos 1
Binnen een sessie wordt een fout beantwoorde kaart na ~3 posities opnieuw getoond.