feat(web): CSV-Import/Export, Tab-Format-Import, PDF-Druckansicht

- CSV-Import: Dropzone für .csv-Dateien, unterstützt 2-spaltig (front,back)
  und 3-spaltig (type,front,back) inkl. cloze; Dedupe via contentHash
- CSV-Export: Button auf Deck-Detail-Seite, lädt type,front,back als .csv
- Tab-Format-Import (ehem. Quizlet): Textarea für tab-getrennte Zeilen;
  funktioniert mit Excel, Google Sheets, Notion und Quizlet-Extension;
  Anleitung erklärt Quizlet-Paywall-Workaround (Quizlet Exporter Extension)
- PDF-Druckansicht: Route /decks/[id]/print, A6-Karten mit alternierenden
  Vorder-/Rückseiten, CSS @page { size: A6 landscape } für Browser-Druck
- Import-Seite: Tab-Bar Anki | CSV | Tab-Format
- i18n: alle 5 Sprachen (DE/EN/FR/ES/IT) vollständig
- docs/FEATURE_IDEAS.md: strukturierte Feature-Liste als Planungsgrundlage

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-05-11 18:27:39 +02:00
parent 9839737049
commit 926ff685c7
15 changed files with 1332 additions and 17 deletions

94
docs/FEATURE_IDEAS.md Normal file
View file

@ -0,0 +1,94 @@
# Feature Ideas
Stand: 2026-05-11. Basiert auf einer Analyse des aktuellen Cardecky-Stands (Phasen 012).
---
## Lern-Erlebnis
### Schema-ready (nur UI fehlt)
| Feature | Kartentyp | Notiz |
|---------|-----------|-------|
| Hör-Verständnis | `audio-front` | Schema + Renderer vorbereitet |
| Tipp-Antwort | `typing` | Fuzzy-Matching-Logik in `domain/typing.ts` |
| Multiple Choice | `multiple-choice` | Schema vorbereitet, Form-Komponente fehlt |
### Scheduler-Verbesserungen
- **Card Burial / Suspension** — Karten temporär deaktivieren ohne Löschen; häufig angefragtes Anki-Feature
- **Geschwister-Burial** — Cloze-Cluster und basic-reverse-Seiten nicht am selben Tag wiederholen
- **Custom Study Sessions** — Gefilterte Sitzungen: nur neue Karten, nur Fehler der letzten Woche, nach Tag filtern
- **Subdeck-Unterstützung** — Hierarchische Deck-Struktur (z. B. Vokabeln → Nomen / Verben)
---
## Gamification & Motivation
- **Daily Streaks** — Tägliche Lernkette mit optionalem Freeze-Token
- **XP + Badges** — Meilensteine (erstes Deck, 100 Karten, 30-Tage-Streak)
- **Tages-Ziele** — "Heute: 20 Karten" mit Progress-Bar im Dashboard
- **Push/Email-Reminders** — "Du hast heute noch 15 fällige Karten" via mana-notify
- **Estimated Mastery Date** — "Dieses Deck beherrschst du voraussichtlich in 3 Wochen" (aus FSRS-Parametern berechenbar)
---
## KI-Features
- **Auto-Cloze-Generator** — Text markieren → `{{c1::...}}` automatisch einfügen
- **Card-Split-Vorschlag** — KI erkennt informationsreiche Karten und schlägt Aufteilung vor
- **Erklär-Modus** — Nach falscher Antwort: KI erklärt den Zusammenhang (opt-in)
- **Auto-Tagging** — Karten beim Erstellen / Importieren semantisch taggen
- **Duplicate Detection** — Semantische Ähnlichkeit über Decks hinweg erkennen
- **Card Quality Score** — Hinweis: "Diese Karte hat zu viel Text" + Verbesserungsvorschlag
---
## Analytics & Insights
- **Vergessenskurven-Visualisierung** — Pro Deck und Tag, aus FSRS-State ableitbar
- **Retention-Rate** — Aufgeschlüsselt nach Kategorie und Sprache
- **Lernzeit-Tracking** — Minuten pro Session, Wochentrend
- **Karten-Schwierigkeits-Heatmap** — Welche Karten kosten die meiste Review-Zeit
- **Wöchentliche Zusammenfassung** — In-App oder per Email via mana-notify
---
## Import / Export
- **CSV Import/Export** — Einfachste Interop, relevant für Lehrer und Nutzer-Migration
- **PDF Export** — Druckbare Karteikarten (A6-Format, vorder-/rückseitig)
- **Web Clipper** (Browser-Extension) — Markierter Text → sofort neue Karte; eigenes Projekt
- **Quizlet Import** — Größte Nutzerbasis im Markt, hohe Migrations-Relevanz
- **SuperMemo XML** — Für Power-User aus dem SM-Ecosystem
- **FSRS-State Export** — Lernstand als JSON exportieren für Backup und Migration
---
## Zusammenarbeit & Community
- **Study Spaces** — Gemeinsame Decks für Schulklassen und Lerngruppen (braucht mana-auth Gruppen-Konzept)
- **Deck-Ratings & Kommentare** — Qualitätssicherung im Marketplace durch Community
- **Study Challenges** — Mit Freunden auf demselben Deck messen
- **Kreator-Analytics** — Für Marketplace-Publisher: Views, Forks, Abonnenten-Retention
- **Collaborative Decks** — Team-Editing mit Rollen (Maintainer / Contributor)
---
## UX / Plattform
- **PWA Offline-Support** — Service Worker + lokaler Lern-Cache; erfordert Entscheidung über FSRS-State-Sync-Strategie (server-authoritative vs. lokal)
- **Keyboard Shortcuts im Study-Mode** — Space = Antwort zeigen, 14 = Rating
- **Dark Mode / Theme-Switcher** — In-App-Auswahl statt nur System-Präferenz
- **Bulk-Operationen** — Mehrere Karten auswählen, verschieben, taggen, löschen
- **Dynamic Decks (Smart Playlists)** — Automatisch gefiltert: z. B. "Alle Karten mit Tag 'Grammatik' aus 3 Decks"
- **Card History** — Lernverlauf pro Karte: wann wie bewertet
---
## Offene Punkte
- **Schnell umsetzbar / hoher ROI:** Keyboard Shortcuts, Daily Streaks, CSV-Import — geringer Aufwand, spürbare UX-Verbesserung
- **Web Clipper** ist ein separates Browser-Extension-Projekt und braucht einen eigenen Scope
- **PWA Offline** ist der größte Architektur-Trade-off: die aktuelle server-authoritative FSRS-Architektur müsste um einen lokalen Sync-Layer erweitert werden
- **Study Spaces** setzt ein Gruppen-Konzept in mana-auth voraus, das noch nicht existiert