# Cards **Eigenständige Spaced-Repetition-App des Vereins mana e.V.** Cards ist eine föderierte Peer-App im mana-Ökosystem. Sie verwaltet Karteikarten, plant Wiederholungen mit dem FSRS-Algorithmus und empfängt Inhalte aus anderen Verein-Apps (z.B. Zitate aus Memoro, Notizen aus Mana, Web-Schnipsel aus dem Browser-Plugin). → Live (geplant): **Aktueller Stand und Pickup-Onboarding: [`STATUS.md`](STATUS.md).** ## Stack - **Frontend:** SvelteKit 2 + Svelte 5 (runes-only) - **Backend:** Hono + Bun + Drizzle ORM - **Datenbank:** Postgres mit Schema-Isolation (`pgSchema('cards')`) - **Auth:** föderiert über mana-auth (EdDSA JWT, JWKS-Cache) - **Subscriptions:** mana-credits (zentral pro Verein-Account) - **AI-Tools:** über mana-mcp Claude Desktop / persona-runner verfügbar - **i18n:** DE / EN / FR / ES / IT - **Build:** Turborepo + pnpm 9 ## Status Phase 0 (Repo-Skeleton) — siehe `mana/docs/playbooks/CARDS_GREENFIELD.md` für den vollständigen Plan. ## Lokal entwickeln ```bash pnpm install pnpm dev:full # cards docker + mana docker + DB-Push (cards & auth) + dev (cards & mana-auth) ``` Oder von überall via zsh-Alias: `cards-dev`. `dev:full` greift in `../mana/` (Plattform-Repo): startet `mana-postgres`, pushed `mana-auth`-Schema, und startet `mana-auth` auf :3001 parallel zu cards-api/-web. Damit ist Login lokal komplett testbar (Cookie-Domain `localhost`, eigener Dev-User in lokaler `mana_auth`-DB). Einzelschritte (falls nur Teile gebraucht werden): ```bash pnpm docker:up # Cards Postgres + MinIO (wartet bis healthy) pnpm docker:up:auth # Mana Postgres (wartet bis healthy) pnpm db:push # Cards Drizzle-Schema pnpm db:push:auth # mana-auth Drizzle-Schema pnpm dev # cards api + web parallel (Turbo) pnpm dev:auth # mana-auth :3001 ``` → API auf `http://localhost:3081`, Web auf `http://localhost:3082` (oder Vite-Dev-Default `5173`). Voraussetzung: Mana-Plattform-Stack (mana-auth, evtl. Föderations-Services) muss lokal laufen, sonst greift Auth-Login nicht. ## Lizenz Mana-Verein-intern, MIT (siehe `mana/docs/COMPLIANCE.md` für Details zur Verein-Lizenzpolitik).