Personal
MVI
Clean Architecture
PlantPediaZ
A comprehensive guide to all plants and zombies in 'Plants vs. Zombies 2'.
The Overview
A comprehensive guide to all plants and zombies in the "Plants vs. Zombies 2", powered by the PVZ 2 API. PlantPedia Z was initially built using Android Clean Architecture that follows the Model-View-Intent (MVI) pattern.
Architecture & Technical Decisions
PlantPedia Z follows a modular architecture to improve build times, maintain a separation of concerns, and make the codebase more scalable and maintainable. It follows the Model-View-Intent (MVI) pattern alongside Clean Architecture principles.
Module Design
- App & Core: Central orchestration and shared utilities.
- Data & Database: Data sources, local caching using Room, and API integration.
- Domain: Pure Kotlin business logic and use cases.
- Presentation & UI: Shared Jetpack Compose components and design systems.
- Feature Modules: Isolated features like the main
encyclopedia.
The Tech Stack
Language
Kotlin
UI Framework
Jetpack Compose
Architecture
MVI / Repository
Networking
Retrofit & OkHttp3
Persistence
Room DB
DI Framework
Hilt
Cloud Services
Firebase