How hzxon/emobilize works
Emobilize is an Android student app centered on viewing a class schedule and browsing notes. Users enter through the activity, navigate between the schedule and notes, and see data supplied through presentation view models and domain repositories. The sampled schedule repository holds seeded events in an in-memory flow; the note repository returns seeded notes. The tree also shows schedule-add and note/schedule retrieval use cases. View-model, navigation, and use-case source was not sampled, so their internal call wiring is left unspecified.
Main entry points: AppModule.kt Dependency wiring · MainActivity.kt Main activity · ScheduleRepositoryImpl.kt In-memory schedule · NoteRepositoryImpl.kt Seeded notes
Components 16
App entry
- Main activity
app/src/main/java/ayodong/emobilize/MainActivity.kt - App navigation
app/src/main/java/ayodong/emobilize/presentation/navigation/AppNavigation.kt - Screen routes
app/src/main/java/ayodong/emobilize/presentation/navigation/Routes.kt
Presentation
- Schedule screen
app/src/main/java/ayodong/emobilize/presentation/schedule/ScheduleScreen.kt - Schedule view model
app/src/main/java/ayodong/emobilize/presentation/schedule/ScheduleViewModel.kt - Notes screen
app/src/main/java/ayodong/emobilize/presentation/note/NoteScreen.kt - Notes view model
app/src/main/java/ayodong/emobilize/presentation/note/NoteViewModel.kt
Domain
- Schedule use cases
app/src/main/java/ayodong/emobilize/domain/usecase/GetScheduleUseCase.kt - Add schedule event
app/src/main/java/ayodong/emobilize/domain/usecase/AddScheduleEventUseCase.kt - Get notes use case
app/src/main/java/ayodong/emobilize/domain/usecase/GetNoteUseCase.kt - Schedule contract
app/src/main/java/ayodong/emobilize/domain/repository/ScheduleRepository.kt - Notes contract
app/src/main/java/ayodong/emobilize/domain/repository/NoteRepository.kt
Data
- In-memory schedule
app/src/main/java/ayodong/emobilize/data/repository/ScheduleRepositoryImpl.kt - Seeded notes
app/src/main/java/ayodong/emobilize/data/repository/NoteRepositoryImpl.kt - Dependency wiring
app/src/main/java/ayodong/emobilize/di/AppModule.kt
Other components
- Student
Connections 11
- Student → Main activity: opens app
- Main activity → App navigation: starts navigation
- Schedule screen → Schedule view model: reads state
- Notes screen → Notes view model: reads state
- In-memory schedule → Schedule contract: implements
- Seeded notes → Notes contract: implements
- Dependency wiring → In-memory schedule: provides
- Dependency wiring → Seeded notes: provides
- Dependency wiring → Schedule use cases: provides
- Dependency wiring → Add schedule event: provides
- Dependency wiring → Get notes use case: provides