Some checks failed
Native Android tablet app for loyalty POS terminal. Replaces web terminal for merchants who need device lockdown, camera QR scanning, and offline operation. Project at apps/terminal-android/ — Kotlin, Jetpack Compose, calls the same /api/v1/store/loyalty/* API (no backend changes). Scaffold includes: - Gradle build (Kotlin DSL) with version catalog (libs.versions.toml) - Hilt DI, Retrofit + Moshi networking, Room offline DB - CameraX + ML Kit barcode scanning dependencies - DataStore for device config persistence - WorkManager for background sync - Three-screen navigation: Setup → PIN → Terminal - Stub screens with layout structure (ready to implement) - API models matching all loyalty store endpoints - PendingTransaction entity + DAO for offline queue - RewardFlow brand theme (purple, light/dark) - Landscape-only, fullscreen, Lock Task Mode ready - SETUP.md with Android Studio installation guide - .gitignore for Android build artifacts Tech decisions: - Min SDK 26 (Android 8.0, 95%+ tablet coverage) - Firebase App Distribution for v1, Play Store later - Staff PIN auth (no username/password on POS) - One-time device setup via QR code from web settings Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>