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