Workout database app to assist in coming up with fresh and effective strength training workouts.
The app is not technically modularized but the package structure mimics how I would modularize it. This keeps responsibilities clear and if I were to actually modularize in the future it would be pretty simple.
app/.../justworkout/
models/
- Domain models common to the entire appdatabase/
- Room databse Entities and DAOsrepository/
- Abstraction layer to decouple data fetching from the core appdi/
- Dependency injection utilities and shared componentsui/
- Composables and ViewModelsutility/
- Shared utilities
Taking some architectural inspiration from skydove's pokedex project.
View Models and State in Compose
Compose Previews with ViewModels
Compose Destinations Library Docs
Compose Destinations article explaining the navArgsDelegate feature