docs: readme with quickstart
This commit is contained in:
57
README.md
Normal file
57
README.md
Normal 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.
|
||||||
Reference in New Issue
Block a user