Movies
Keep track of popular & top rated movies and see movie details
Features
- Keep track of popular & top rated movies
- See movie details
Libraries
- Jetpack Compose - Declarative UI Framework
- Material You - Design System
- Splash Screen - Newly introduced splash screen API
- Coroutines - Asynchronous Programming
- Kotlin Serlization - Kotlin Multiplatform Serialization
- Ktor - HTTP Client
- Room - Local Database
- Hilt - Dependency Injection
- Coil - An image loading library for Android backed by Kotlin Coroutines
Architecture and Design Patterns
-
- :app - Application main activity and dependency injection
- :buildSrc - Manage application dependencies
- :database - Contains database, DTOs (Data Transfer Object) & DAOs
- :preference - Contains app
- :common - Provide common shared ui & utilities
- :feature_movie - Provide movie list & movie details
- each module from above contains its own layers
- data : contains Mapper, Data sources and Repository Implementation
- domain : Business layer that contains Repository interfaces and Models (Entities)
- presentation : UI related code
-
MVI - Model-View-Intent design pattern