BadrAtt / Pokemon

Pokemon is a jetpack compose app built with modern android technologies, multi-module app with clean architecture, MVI, Coroutines, Flow, Retrofit, Turbine, Gradle version Catalog

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pokemon

Pokemon is a jetpack compose app built with modern android technologies, multi-module app with clean architecture, MVI, Coroutines, Flow, Retrofit, Turbine Gradle version Catalog

Tech Stack

This app is built with modern android technologies, including:

Architecture and patterns

This App is built with Clean architeture, it's composed with 3 leayers: Data, Domain and Presentation, with the MVVM pattern. it's highly decoupled and each leayer is independet.

the communication between layers follows a uniderictional flow, The ui layer sends user action as intents to the viewModel, which communicates respectively with the domain layer, then the data layer. Each layer exposes data to other layer as data streams.

Modularization

The app is built with multi-module structure for:

Improved Code Maintainability: Modularization organizes code into smaller, focused modules, enhancing readability, and making it easier to maintain, update, and debug.

Reusability: Modularization encourages creating reusable modules for common functionalities, reducing redundant code and accelerating development across projects.

Scalability: Breaking the app into modules enables parallel development, facilitating the addition of new features and modifications without disrupting other parts of the app.

Screenshots

Home Page Details Page
Home Page Details Page

About

Pokemon is a jetpack compose app built with modern android technologies, multi-module app with clean architecture, MVI, Coroutines, Flow, Retrofit, Turbine, Gradle version Catalog


Languages

Language:Kotlin 100.0%