📱 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)