mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-17 01:59:41 +02:00
PWA:
• SvelteKitPWA in vite.config via @mana/shared-pwa preset (name +
theme color). Layout injects pwaInfo.webManifest.linkTag so
Chrome's manifest pickup works → install icon + A2HS.
• Service worker registers automatically (workbox auto-update); the
cards-already-cached path now keeps working offline as long as the
user has visited a deck once.
AI generation:
• lib/ai/generate.ts — direct fetch to mana-llm /v1/chat/completions
(OpenAI-compatible, mirrors playground module). System prompt
constrains the model to a JSON array of {front, back}. Code-fence
stripping handles models that wrap JSON in ```json blocks despite
the prompt.
• AiCardGen.svelte — text in, list of generated cards out, per-card
checkbox preview, "X übernehmen" creates them via cardStore.
Phase-1 lands them as basic cards.
• Mounted on the deck-detail page next to "Neue Karte".
Wiring:
• hooks.server.ts injects __PUBLIC_MANA_LLM_URL__.
• compose adds PUBLIC_MANA_LLM_URL_CLIENT=https://llm.mana.how to the
cards-web service.
• app.d.ts gets vite-plugin-pwa virtual-module references so
svelte-check can resolve `virtual:pwa-info`.
Phase 2: PDF/image input, mana-credits gating, model selector,
streaming preview as cards arrive.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| apps/web | ||
| GUIDELINES.md | ||
| package.json | ||
| README.md | ||
Cards
Spaced-repetition flashcards on cards.mana.how.
Phase-1 standalone web app. The frontend lives here; data, auth, and sync are shared with the rest of the Mana stack:
- Auth: mana-auth (SSO),
*.mana.how - Sync: mana-sync, app-id
cards - Storage:
mana_platform.cards.*(Postgres, RLS)
The same cards data backs the mana built-in Cards module at
mana.how/cards. Schema changes ship to both frontends together — see
apps/cards/GUIDELINES.md.
Layout
apps/cards/
├── apps/
│ └── web/ # SvelteKit 2 + Svelte 5 — the Phase-1 surface
├── GUIDELINES.md # Project rules (read first)
└── README.md
apps/cards/apps/mobile/ and any production apps/cards/apps/landing/
will land in Phase 2/3.
Quick start
pnpm install
pnpm --filter @cards/web dev # cards.mana.how on http://localhost:5180