Landscape-first, offline-capable motel/hotel POS + PMS tablet application built with Kotlin, Jetpack Compose, Hilt, Room, Retrofit, and WorkManager. The project ships with multi-property support, role-aware UI, AI Copilot powered by ChatGPT, and fully seeded demo data for two properties.
- Clean Architecture with
corelayers (data, domain, security, ai, work) and feature packages (Dashboard, Rooms, Reports, Settings, Housekeeping, Search, Copilot, Offline). - MVVM ViewModels leveraging Kotlin coroutines and Flows for reactive UI updates.
- Dependency Injection via Hilt modules (
AppModule, WorkManager configuration). - Persistence using Room with secure seed data and offline sync queue.
- Networking Retrofit + Moshi clients with TLS 1.3-ready OkHttp stack.
- Background Processing WorkManager
SyncWorkerhandling offline-to-online reconciliation. - Security Android Keystore-backed
SecureConfigStoreandPiiRedactorenforcing log redaction. - AI Integration
ChatGptClientdelivers streaming Compose insights and proactive housekeeping summaries.
- Ensure Android Studio Giraffe or newer with Android SDK 34.
- Clone repository and open the project root (
/workspace/Android-POS-APP). - Generate Gradle wrapper if required:
./gradlew wrapper(wrapper JAR omitted for brevity). - Sync Gradle and run on an Android 14+ tablet emulator (landscape orientation recommended).
- ChatGPT API Key: Navigate to Settings → AI, paste the API key. Key stored via Android Keystore + EncryptedSharedPreferences.
- Demo Mode: Preloaded demo data (two properties, twenty rooms) is seeded on first launch by
SeedDataSeeder. - WorkManager Sync: Offline actions queue in Room's
sync_queuetable;SyncWorkerretries with exponential backoff. - PDF Exports:
ReportPdfExporterrenders PDF reports into the app private storage (files/reports).
- Unit tests located in
app/src/test. Execute with./gradlew test. - GitHub Actions workflow
.github/workflows/ci.ymlvalidates build + unit tests.
- API prompts automatically redact PII via
PiiRedactor. - AI prompt/response pairs logged to
ai_promptsfor audit visibility. - Role-aware UI restricts destructive actions to manager accounts.
- Payment, OCR, and AI services are mocked within repository and client layers allowing offline demos.
- Retrofit endpoints defined for future live server integration.
- Settings module accepts Cash App handle and third-party processor tokens (Stripe/Square). Compose UI renders QR during payment flows.
ManualArticleEntity+ AI Copilot enable on-device procedural help even when offline. ChatGPT streaming attaches context and surfaces insights across Dashboard, Rooms, Reports, and Housekeeping screens.