Skip to content

badiniibrahim/Memes-App-jetpack_compose_clean_architecture

Repository files navigation

📱 Memes App - Jetpack Compose with Clean Architecture

Description:

Memes App is a modern Android application built with Kotlin and structured using the Clean Architecture pattern. It leverages Jetpack Compose for a fully declarative and responsive UI, ensuring a clean separation of concerns and maintainable codebase. 🧱 Architecture Overview:

The project follows Clean Architecture, separating responsibilities into distinct layers:

Data Layer (data)

    Handles data sources (API, mappers, repositories).

    Implements the MemesRepositoryImpl to fetch and process data.

Domain Layer (domain)

    Defines interfaces and business logic (e.g., repositories, use cases).

    Completely decoupled from UI and data handling logic.

Presentation Layer (presentation)

    Built with Jetpack Compose.

    Contains UI screens, widgets, ViewModels (MemesViewModel), and ViewState management.

🧩 Key Modules:

di: Dependency injection setup (likely using Hilt or Koin).

api, mapper, repository: Responsible for network communication and data transformations.

MemesScreen / MemesDetail: Compose-based screens and reusable UI components.

utils: Shared constants or utility functions.

MyApplication.kt: Custom Application class, probably for DI initialization.

⚙️ Tech Stack:

🛠️ Kotlin

🎨 Jetpack Compose

🧱 Clean Architecture

📦 Dependency Injection (Hilt or Koin)

🌐 REST API Integration (likely via Retrofit)

🧪 Unit/UI Testing (test, androidTest directories)

About

Memes App is a modern Android application built with Kotlin and structured using the Clean Architecture pattern. It leverages Jetpack Compose for a fully declarative and responsive UI, ensuring a clean separation of concerns and maintainable codebase.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages