Strategie B (beschlossen 2026-05-08): Cards wird als eigenständige
föderierte App neu gebaut, ohne Code-Übernahme aus mana-monorepo.
Skelett enthält:
- apps/api: Hono+Bun mit /healthz, /version, Manifest-Endpoint, leere
pgSchema('cards'), Drizzle-Config, erstem Vitest
- apps/web: SvelteKit 2 + Svelte 5 (runes), Vite auf 3082
- packages/cards-domain: Pure-TS, CardType-Discriminated-Union,
SubIndex-Granularität für Reviews, Future-CardType-Set vorbereitet
- infrastructure/docker-compose.yml: Postgres 16 auf 5435
- app-manifest.json: v1.0.0, Verein-owned, beta-tier
- .github/workflows/ci.yml
- docs/LESSONS_FROM_MANA_MONOREPO.md (Read-Day-Output, 15 Lehren)
Pre-Flight für Phase 2 (Auth-Föderation): DNS cardecky.mana.how,
GitHub-Repo mana-ev/cards, Cards-App-Registrierung in mana-auth,
NPM_AUTH_TOKEN für Verdaccio.
Plan: mana/docs/playbooks/CARDS_GREENFIELD.md
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
45 lines
1.4 KiB
Markdown
45 lines
1.4 KiB
Markdown
# 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): <https://cardecky.mana.how>
|
|
|
|
## 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 docker:up # Postgres in Docker
|
|
pnpm db:push # Drizzle-Schema
|
|
pnpm dev # api + web parallel
|
|
```
|
|
|
|
→ 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).
|