PersonalMVIClean Architecture
PlantPediaZ
A reference guide to all plants and zombies in 'Plants vs. Zombies 2'.
- Type
- Personal
The Overview
A reference guide to all plants and zombies in "Plants vs. Zombies 2", powered by the PVZ 2 API. PlantPedia Z was originally built on Clean Architecture with the Model-View-Intent (MVI) pattern.
Architecture & Technical Decisions
PlantPedia Z splits into modules to keep build times down and concerns separated, on the Model-View-Intent (MVI) pattern with Clean Architecture principles.
Module design
The app and core modules handle orchestration and shared utilities. data and database own the data sources, Room caching, and API integration. domain holds pure-Kotlin business logic and use cases. presentation and ui hold shared Compose components and the design system. Feature modules like encyclopedia sit on top.
The Tech Stack
Language
Kotlin
UI Framework
Jetpack Compose
Architecture
MVI / Repository
Networking
Retrofit & OkHttp3
Persistence
Room DB
DI Framework
Hilt
Cloud Services
Firebase