Skip to content

Project showcases the use of MVI architecture, Clean Architecture, safe network calls with Retrofit, Hilt for DI. It leverages Kotlin 2.0, latest Android SDK 35, Jetpack Compose with declarative approach, app modularization & reactive programming with Kotlin Flow.

Notifications You must be signed in to change notification settings

PanktiSP13/BookHub-jetpack-compose-modular-project

Repository files navigation

BookHub

The BookHub project is a demo application that showcases modern Android development practices, including MVI architecture, Clean Architecture principles, Network calls with Retrofit, Hilt for dependency injection.


  • Developed using a declarative approach with Jetpack Compose.
  • Designed for the latest Android SDK 35 and Kotlin 2.0 with the Compose compiler.

Modularized Architecture

The app is modularized into three distinct layers for better scalability and maintainability:

  • Data module: Responsible for managing API calls and local data storage.
  • Domain module: Contains business logic.
  • Presentation module: Handles UI rendering and user interactions.

Project Highlights

  • Architecture Pattern : Implemented Model-View-Intent (MVI) architecture pattern to maintain a unidirectional data flow and predictable state management.
  • Clean Architecture Principles : Follows Clean Architecture principles to ensure modularity, scalability, and a clear separation of layers.
  • Network Calls: Network calls are managed using Retrofit. Includes a common method for safe API calls to handle errors and responses efficiently.
  • Dependency Injection : Hilt is used for dependency injection, making it easy to provide and inject dependencies throughout the app.
  • Image Handling : Used Coil for asynchronous image loading & a common image picker with robust permission handling.
  • Reactive Programming : Used Kotlin Flow for reactive and asynchronous data streams.
  • Dependency Management : All dependencies are managed using a centralized TOML file for better maintainability.
  • KSP (Kotlin Symbol Processing) is used over KAPT for improved build performance (Reduces annotation processing overhead).

Prerequisites

  • Android Studio Koala or later (Used Android studio Ladybug).
  • JDK 17.
  • A device/emulator running Android 7.0 (API level 24) or higher.

Clone the repository:

git clone https://github.com/PanktiSP13/jetpack_modular_project_demo.git

Feel free to explore, use, and contribute to BookHub to learn and grow with modern Android development practices! 🚀

About

Project showcases the use of MVI architecture, Clean Architecture, safe network calls with Retrofit, Hilt for DI. It leverages Kotlin 2.0, latest Android SDK 35, Jetpack Compose with declarative approach, app modularization & reactive programming with Kotlin Flow.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages