Skip to content
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