Files
harheimertc/ANDROID_KOTLIN_PLAN.md
Torsten Schulz (local) 8e318b0b52
Some checks failed
Code Analysis and Production Deploy / analyze (push) Failing after 3m13s
Code Analysis and Production Deploy / deploy-production (push) Has been skipped
Code Analysis and Production Deploy / deploy-test (push) Has been skipped
feat(android): initial project setup with Gradle, AndroidManifest, and MainActivity
2026-05-26 16:39:10 +02:00

4.4 KiB

Android App — Kotlin (Jetpack Compose) Plan und Abhakliste

Kurz: Ziel ist eine native Android-App mit Kotlin + Jetpack Compose, die die Web-UI 1:1 abbildet (Farben, Typografie, Funktionalitäten). Diese Datei enthält Architekturentscheidungen, empfohlene Bibliotheken und eine detaillierte Abhakliste (schrittweise).

  1. Zusammenfassung der Entscheidungen
  • Plattform: Native Android
  • Sprache: Kotlin
  • UI-Toolkit: Jetpack Compose (Compose Material3)
  • Architektur: MVVM mit ViewModel + Kotlin Coroutines + Flow
  • DI: Hilt
  • HTTP-Client: Ktor Client oder Retrofit + OkHttp (empfohlen: Retrofit für breite Community-Docs)
  • Bild-Loading: Coil
  • Lokale DB / Caching: Room + DataStore (Preferences)
  • Background/Sync: WorkManager
  • Auth: JWT-Handling, Unterstützung für Passkeys (Android Passkeys / WebAuthn Interop über FIDO2 APIs)
  • Rich-Text: WebView-basierte Anzeige; Editoren: ggf. hybride Lösung (Server-side HTML editor + WebView) oder RichEditor-Libs
  • Crash-Reporting & Monitoring: Firebase Crashlytics oder Sentry
  1. Design & Farben
  • Material Theme (Material3) mit Farben aus tailwind.config.js (Primary + Accent).
  • Fonts: Inter & Montserrat via Google Fonts (Download/Bundle oder Play-Services-Download at runtime).
  • Mapping: Tailwind-Token → colors.xml / Compose Color tokens.
  1. Empfohlene Abhängigkeiten (erste Implementierung)
  • androidx.compose.* (ui, material3, navigation)
  • androidx.lifecycle:lifecycle-viewmodel-ktx
  • com.google.dagger:hilt-android
  • retrofit2 + converter-moshi / kotlinx-serialization
  • io.coil-kt:coil-compose
  • androidx.room:room-runtime + room-ktx
  • androidx.work:work-runtime-ktx
  • androidx.datastore:datastore-preferences
  • com.google.android.gms:play-services-auth (für passkeys falls nötig)
  • io.sentry:sentry-android (optional)
  1. Detaillierte Abhakliste (Schritte) [x] 1. Repo-Analyse: Liste der externen Endpunkte und Auth-Anforderungen exportieren [x] 2. Projekt-Scaffold: Android Studio Projekt mit Kotlin + Compose anlegen [x] 3. App-Architektur: Module / Packages anlegen (ui, data, domain, di, util) [x] 4. CI-Build: Gradle-Config und GitHub Actions Skeleton [ ] 5. Theme: Color.kt, Typography.kt, Theme.kt erstellen und Tailwind-Farben mappen [ ] 6. Fonts: Inter + Montserrat einbinden (res/font oder GoogleFonts) [ ] 7. Navigation: Compose Navigation-Graph mit Routen für alle Seiten anlegen [ ] 8. Start-Screen: HomeScreen mit Hero-Bild und CTA anlegen [ ] 9. Komponenten: NavBar, Footer (falls nötig), Card, ImageGrid, Modal/Dialogs implementieren [ ] 10. Screens: Erstelle Screens für Termine, Spielplan, Galerie, Kontakt, Mitgliedschaft, Login, CMS etc. [ ] 11. API-Client: Retrofit/Ktor-Client implementieren, Auth-Interceptor (Token Refresh) [ ] 12. Auth: Login/Register/Logout + sichere Token-Speicherung (DataStore + EncryptedSharedPreferences) [ ] 13. Passkeys: Integration prüfen (FIDO2 / Passkeys) und Fallback auf Passwort [ ] 14. Image-Upload: Multipart-Upload + Coil für Anzeige + Bildkompression (u. a. Sharp-Äquivalent evtl. serverseitig) [ ] 15. Rich-Text: Anzeige von HTML (Compose + WebView) und ggf. Editor via WebView-bridge [ ] 16. Formulare: Validierung (clientseitig) und Fehlerdarstellung [ ] 17. Offline & Caching: Room für persistente Daten, Response-Caching, Sync-Strategie [ ] 18. Lokalisierung: strings.xml (DE + EN) und i18n-Check [ ] 19. Accessibility: ContentDescription, Focus, Farben/Kontrast prüfen [ ] 20. Tests: Unit-Tests für ViewModels + UI-Tests mit Compose Testing [ ] 21. Performance: Bildoptimierung, LazyLists, Paging (falls große Daten) [ ] 22. Analytics: Firebase / Matomo Integration (je nach Datenschutz) [ ] 23. Crash-Reporting: Sentry / Crashlytics integrieren [ ] 24. Build/Release: App signing, Release-Notes, Play-Store-Metadaten vorbereiten [ ] 25. Dokumentation: README-android.md mit Setup, Architektur und Release-Anleitung

  2. Kurzzeit-MVP (Priorität für erste Version)

  • A. Auth (Login/Logout)
  • B. Home, Termine, Spielplan, Galerie (anzeigen)
  • C. Kontaktformular (absenden)
  • D. Bildanzeige + Caching
  • E. Theme & Fonts
  1. Nächste Aktionen (sofort)
  • Erstelle Android-Projekt-Scaffold (auf Wunsch automatisiert)
  • Exportiere vollständige Asset-Liste (Bilder, Icons, Fonts, PDFs)

Datei erstellt: ANDROID_KOTLIN_PLAN.md

Wenn du möchtest, starte ich jetzt mit dem Android-Scaffold oder exportiere zuerst alle Assets. Welche Option bevorzugst du?