Personal MVI Clean Architecture

PlantPediaZ

A reference guide to all plants and zombies in 'Plants vs. Zombies 2'.

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 is split into modules to keep build times down and concerns separated. It uses 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 contain shared Jetpack 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