36 lines
1.6 KiB
Markdown
36 lines
1.6 KiB
Markdown
Android Architektur (Kotlin + Jetpack Compose) — Vorschlag
|
|
|
|
Packages/Module Struktur:
|
|
- app/ (Android-App module)
|
|
- src/main/java/de/harheimertc/
|
|
- ui/
|
|
- navigation/ (NavGraph, Routes)
|
|
- screens/ (HomeScreen, TermineScreen, SpielplanScreen, GalleryScreen, ContactScreen, AuthScreens, CMS Screens)
|
|
- components/ (TopBar, BottomNav, Cards, Modals)
|
|
- theme/ (Color.kt, Typography.kt, Theme.kt)
|
|
- data/
|
|
- api/ (Retrofit interfaces, DTOs)
|
|
- repository/ (Repositories für Domain-Modelle)
|
|
- local/ (Room DAOs, Entities)
|
|
- di/ (Hilt Modules)
|
|
- domain/ (UseCases, Business-Logic)
|
|
- util/ (Extensions, DateUtils, ImageUtils)
|
|
- auth/ (AuthManager, Passkeys helper)
|
|
|
|
Wichtige Dateien:
|
|
- `MainActivity.kt` — Hosts Compose NavHost
|
|
- `AppTheme.kt` — Compose Material3 Theme mit Token-Mapping
|
|
- `NetworkModule` (Hilt) — Retrofit + OkHttp + Auth Interceptor
|
|
- `Repository` Layer — entkoppelt UI von Netz
|
|
- `Room` Entities — für Caching von Termine/News/Galerie
|
|
|
|
Auth-Strategie:
|
|
- AuthRepository verwaltet Login/Logout, `checkAuth()` (mirroring `/api/auth/status`).
|
|
- Token/Cookie-Speicherung: `EncryptedSharedPreferences` für Tokens oder `CookieJar` mit OKHttp-Client.
|
|
- Passkeys: `Fido2Client` wrapper + Bridge zu Server-API (Formate prüfen).
|
|
|
|
Build / Module Tipps:
|
|
- Start mit Single Module `app/` und später evtl. `:data`, `:domain` Trennung.
|
|
- Verwende Gradle Kotlin DSL (build.gradle.kts).
|
|
|
|
Diese Architekturdatei wurde generiert; ich kann nun ein initiales Gradle-Kotlin-Scaffold erzeugen. Soll ich das direkt in `android-app/` ablegen? (Ja/Nein) |