How velzanava/lumine-app works
Lumine is an Android jewelry-shopping app whose central journey is account access, catalog browsing, product selection, and live AR try-on, followed by an optional rating. The graph also preserves profile/favorites and admin management capabilities documented in the README and API service. AR wiring is based on the README and partial ARScreen excerpt; unsampled viewmodels and screens are represented by their exact tree paths, so uncertain call links are omitted.
Main entry points: MainActivity.kt Navigation host · ARScreen.kt AR experience · JewelryRepository.kt Jewelry repository · catalog Catalog screens
Components 22
Shopping Journey
- Navigation host
app/src/main/java/com/thesis/lumine/MainActivity.kt - Catalog screens
app/src/main/java/com/thesis/lumine/ui/catalog - Jewelry state
app/src/main/java/com/thesis/lumine/viewmodel/JewelryViewModel.kt
AR Try-On
- AR experience
app/src/main/java/com/thesis/lumine/ui/ar/ARScreen.kt - Camera frames
app/src/main/java/com/thesis/lumine/utils/CameraManager.kt - Landmark tracking
app/src/main/java/com/thesis/lumine/utils/MediaPipeHelper.kt - 2D overlay
app/src/main/java/com/thesis/lumine/utils/AROverlayView.kt - Unity bridge
app/src/main/java/com/thesis/lumine/utils/UnityBridge.kt - Unity renderer
Account & Profile
- Auth screens
app/src/main/java/com/thesis/lumine/ui/auth - Auth state
app/src/main/java/com/thesis/lumine/viewmodel/AuthViewModel.kt - Profile screens
app/src/main/java/com/thesis/lumine/ui/profile - Profile state
app/src/main/java/com/thesis/lumine/viewmodel/ProfileViewModel.kt - Secure session
app/src/main/java/com/thesis/lumine/utils/SessionManager.kt
Admin & Evaluation
- Evaluation state
app/src/main/java/com/thesis/lumine/viewmodel/EvaluationViewModel.kt - Admin panel
app/src/main/java/com/thesis/lumine/ui/admin/AdminScreen.kt
Backend Access
- Jewelry repository
app/src/main/java/com/thesis/lumine/data/repository/JewelryRepository.kt - REST API service
app/src/main/java/com/thesis/lumine/data/api/LumineApiService.kt - HTTP client
app/src/main/java/com/thesis/lumine/data/api/RetrofitClient.kt
Other components
- App user
- Lumine backend
- Backend data services
Connections 28
- App user → Navigation host: opens and navigates
- Navigation host → Auth screens: routes
- Auth screens → Auth state: submits credentials
- Auth state → Jewelry repository: requests auth
- Auth state → Secure session: persists session
- Navigation host → Catalog screens: routes
- Catalog screens → Jewelry state: browses items
- Jewelry state → Jewelry repository: loads catalog
- Catalog screens → Navigation host: selects product
- Navigation host → AR experience: opens selected item
- AR experience → Camera frames: starts camera
- Camera frames → Landmark tracking: passes frames
- AR experience → Landmark tracking: configures tracking
- AR experience → 2D overlay: updates indicators
- AR experience → Unity bridge: sends landmarks
- Unity bridge → Unity renderer: dispatches coordinates
- AR experience → Evaluation state: submits rating
- Evaluation state → Jewelry repository: sends evaluation
- Navigation host → Profile screens: routes
- Profile screens → Profile state: edits profile
- Profile state → Jewelry repository: loads profile and favorites
- Navigation host → Admin panel: routes admin
- Admin panel → Jewelry state: manages catalog
- Admin panel → Evaluation state: views ratings
- Jewelry repository → REST API service: calls endpoints
- REST API service → HTTP client: uses client
- HTTP client → Lumine backend: sends HTTP
- Lumine backend → Backend data services: reads and writes