How fabianvrojas87/appandroidstudioproject works
This is an Android Jetpack Compose app for recording and reviewing rack inspections. The user enters through a splash/login flow, then navigates among rack entry, camera, records/history, and profile screens; rack records are managed through a ViewModel, repository, and Room persistence. The graph preserves the user/profile data and navigation subsystems shown in the tree, though the user ViewModel is commented out in the activity wiring. Several screen implementations were not excerpted, so their internal behavior is not inferred.
Main entry points: EspacioScaffold.kt Screen scaffold · MainActivity.kt Main activity · EspacioNavegacion.kt Navigation host · RegistroRackViewModel.kt Rack view model
Components 25
App entry and navigation
- Main activity
app/src/main/java/com/duoc/appandroidstudioproject/MainActivity.kt - Navigation host
app/src/main/java/com/duoc/appandroidstudioproject/ui/layouts/EspacioNavegacion.kt - Navigation events
app/src/main/java/com/duoc/appandroidstudioproject/viewmodel/NavigationFlowViewModel.kt - Screen routes
app/src/main/java/com/duoc/appandroidstudioproject/navigation/Screen.kt
Compose screens
- Screen scaffold
app/src/main/java/com/duoc/appandroidstudioproject/ui/layouts/EspacioScaffold.kt - Login screen
app/src/main/java/com/duoc/appandroidstudioproject/ui/screens/LoginScreen.kt - Splash screen
app/src/main/java/com/duoc/appandroidstudioproject/ui/screens/SplashScreen.kt - Start screen
app/src/main/java/com/duoc/appandroidstudioproject/ui/screens/StartScreen.kt - Rack entry
app/src/main/java/com/duoc/appandroidstudioproject/ui/screens/IngresoScreen.kt - Camera screen
app/src/main/java/com/duoc/appandroidstudioproject/ui/screens/CamaraScreen.kt - Rack records
app/src/main/java/com/duoc/appandroidstudioproject/ui/screens/RegistrosScreen.kt - Record history
app/src/main/java/com/duoc/appandroidstudioproject/ui/screens/RegistrosHistorialScreen.kt - Edit record
app/src/main/java/com/duoc/appandroidstudioproject/ui/screens/RegistrosEditarScreen.kt - Profile screen
app/src/main/java/com/duoc/appandroidstudioproject/ui/screens/PerfilScreen.kt - Edit profile
app/src/main/java/com/duoc/appandroidstudioproject/ui/screens/PerfilEditar.kt
Rack records
- Rack view model
app/src/main/java/com/duoc/appandroidstudioproject/viewmodel/RegistroRackViewModel.kt - Rack repository
app/src/main/java/com/duoc/appandroidstudioproject/repository/RegistroRackRepository.kt - Rack DAO
app/src/main/java/com/duoc/appandroidstudioproject/model/RegistroRackDao.kt - Rack record
app/src/main/java/com/duoc/appandroidstudioproject/model/RegistroRack.kt - Room database
app/src/main/java/com/duoc/appandroidstudioproject/model/AppDatabase.kt
User and profile
- User view model
app/src/main/java/com/duoc/appandroidstudioproject/viewmodel/UsuarioViewModel.kt - User repository
app/src/main/java/com/duoc/appandroidstudioproject/repository/UsuarioRepository.kt - User DAO
app/src/main/java/com/duoc/appandroidstudioproject/model/UsuarioDao.kt - User entity
app/src/main/java/com/duoc/appandroidstudioproject/model/Usuario.kt
Other components
- App user
Connections 30
- App user → Main activity: opens app
- Main activity → Room database: builds database
app/src/main/java/com/duoc/appandroidstudioproject/MainActivity.kt - Main activity → Rack repository: creates repository
app/src/main/java/com/duoc/appandroidstudioproject/MainActivity.kt - Main activity → Rack view model: creates view model
app/src/main/java/com/duoc/appandroidstudioproject/MainActivity.kt - Main activity → Navigation host: sets content
app/src/main/java/com/duoc/appandroidstudioproject/MainActivity.kt - Navigation host → Splash screen: routes to
app/src/main/java/com/duoc/appandroidstudioproject/ui/layouts/EspacioNavegacion.kt - Navigation host → Login screen: routes to
app/src/main/java/com/duoc/appandroidstudioproject/ui/layouts/EspacioNavegacion.kt - Navigation host → Screen scaffold: routes screens
app/src/main/java/com/duoc/appandroidstudioproject/ui/layouts/EspacioNavegacion.kt - Navigation host → Navigation events: collects events
app/src/main/java/com/duoc/appandroidstudioproject/ui/layouts/EspacioNavegacion.kt - Navigation host → Screen routes: uses routes
app/src/main/java/com/duoc/appandroidstudioproject/ui/layouts/EspacioNavegacion.kt - Screen scaffold → Rack entry: renders
app/src/main/java/com/duoc/appandroidstudioproject/ui/layouts/EspacioScaffold.kt - Screen scaffold → Camera screen: renders
app/src/main/java/com/duoc/appandroidstudioproject/ui/layouts/EspacioScaffold.kt - Screen scaffold → Rack records: renders
app/src/main/java/com/duoc/appandroidstudioproject/ui/layouts/EspacioScaffold.kt - Screen scaffold → Record history: renders
app/src/main/java/com/duoc/appandroidstudioproject/ui/layouts/EspacioScaffold.kt - Screen scaffold → Edit record: renders
app/src/main/java/com/duoc/appandroidstudioproject/ui/layouts/EspacioScaffold.kt - Screen scaffold → Profile screen: renders
app/src/main/java/com/duoc/appandroidstudioproject/ui/layouts/EspacioScaffold.kt - Screen scaffold → Edit profile: renders
app/src/main/java/com/duoc/appandroidstudioproject/ui/layouts/EspacioScaffold.kt - Screen scaffold → Start screen: renders
app/src/main/java/com/duoc/appandroidstudioproject/ui/layouts/EspacioScaffold.kt - Rack records → Navigation events: requests navigation
app/src/main/java/com/duoc/appandroidstudioproject/ui/layouts/EspacioScaffold.kt - Profile screen → Navigation events: requests navigation
app/src/main/java/com/duoc/appandroidstudioproject/ui/screens/PerfilScreen.kt - Rack entry → Rack view model: uses view model
app/src/main/java/com/duoc/appandroidstudioproject/ui/screens/IngresoScreen.kt - Rack view model → Rack repository: calls CRUD
app/src/main/java/com/duoc/appandroidstudioproject/viewmodel/RegistroRackViewModel.kt - Rack repository → Rack DAO: calls CRUD
app/src/main/java/com/duoc/appandroidstudioproject/repository/RegistroRackRepository.kt - Rack DAO → Rack record: queries entity
app/src/main/java/com/duoc/appandroidstudioproject/model/RegistroRackDao.kt - Room database → Rack DAO: exposes DAO
app/src/main/java/com/duoc/appandroidstudioproject/model/AppDatabase.kt - User view model → User repository: calls CRUD
app/src/main/java/com/duoc/appandroidstudioproject/viewmodel/UsuarioViewModel.kt - User repository → User DAO: calls CRUD
app/src/main/java/com/duoc/appandroidstudioproject/repository/UsuarioRepository.kt - User DAO → User entity: queries entity
app/src/main/java/com/duoc/appandroidstudioproject/model/UsuarioDao.kt - Main activity → User view model: wiring disabled
app/src/main/java/com/duoc/appandroidstudioproject/MainActivity.kt - Edit profile → User view model: may update user