Native SwiftUI-Universal-App für Cardecky (mana e.V.). Web-Parität zu cardecky.mana.how. SOT: mana/docs/playbooks/CARDS_NATIVE_GREENFIELD.md
Voller Lern-Flow mit Web-Parität: fällige Karten via /reviews/due laden, flip + rate (4 Buttons + Haptic), Grades via Offline-Queue ans Server-FSRS schicken. - Card/Review/DueReview DTOs mit snake_case + camelCase-deckId- Sonderfall im embedded card-Subobjekt - CardType-Enum (alle 7 Typen), Rating-Enum mit deutschen Labels - Cloze-Helper 1:1-Port aus cards-domain (extractClusterIds, subIndexCount, clusterId, renderPrompt/Answer, hint) - CardsAPI.dueReviews(deckId:) + gradeReview(cardId,subIndex,rating,reviewedAt) - PendingGrade SwiftData-Model + GradeQueue (FIFO-Drain, originaler Timestamp bleibt, bei Netzfehler in Queue, Retry beim nächsten Drain) - StudySession @Observable State-Machine - CardRenderer für basic, basic-reverse, cloze; Placeholder für image-occlusion/audio-front/typing/multiple-choice (β-3/β-4) - RatingBar mit UIImpactFeedbackGenerator (medium/heavy) - StudySessionView per NavigationLink aus DeckListView - 9 neue Tests (Cloze: 8, Review-Decoding: 3), insgesamt 17 grün Server-authoritative FSRS bleibt — kein ts-fsrs-Port. Endurance-Test auf realem Gerät steht aus (siehe PLAN.md). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| Sources | ||
| Tests | ||
| .gitignore | ||
| .swiftformat | ||
| .swiftlint.yml | ||
| CLAUDE.md | ||
| PLAN.md | ||
| project.yml | ||
| README.md | ||
cards-native
Native SwiftUI-Universal-App (iOS / iPadOS / macOS) für Cardecky — die Spaced-Repetition-Karten-App des Vereins mana e.V.
Web-App-Parität. Die existierende Web-App auf
cardecky.mana.howist Funktions- und Verhaltens-Referenz. Native bringt kein neues Produkt, sondern die App in einer Form, die iOS-Hardware besser nutzt.
Status
Phase β-0 — Setup. Leerer Build, Login funktioniert, Cardecky-API-
Reachability-Check. Vollständiger Phasen-Plan in
../mana/docs/playbooks/CARDS_NATIVE_GREENFIELD.md.
HTTPS/JWT ┌──────────────────┐
cards-api ◄───────────── │ cards-native │ SwiftUI
cardecky-api.mana.how │ ev.mana.cards │ WidgetKit (β-6)
└──────────────────┘
│
┌─────────────────────────────────────────┐
▼ ▼
ManaCore (Auth, Transport) ManaTokens (Designwerte)
git.mana.how/till/mana-swift-core v1.0.0+
Lokal entwickeln
xcodegen generate
open CardsNative.xcodeproj # iPhone-17-Simulator
Konventionen, Invarianten, Phasen-Disziplin: CLAUDE.md.