![Android API](https://camo.githubusercontent.com/6dfd31a6dcd13bf1517259bedbaac84603fde0c56f10272e4567de65f73a5660/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6170692d32362532422d627269676874677265656e2e7376673f7374796c653d666f722d7468652d6261646765)
Main Branch: ![Build status](https://camo.githubusercontent.com/e9f0d8a10a2b0cdfe88a8725f170cd20472e705cb89428031bcf30ccd53c67f6/68747470733a2f2f6275696c642e61707063656e7465722e6d732f76302e312f617070732f35343466666566352d613239382d346634612d386339342d3965343163336638343564302f6272616e636865732f6d61696e2f6261646765)
π For run the app just clone the repository and execute the app on Android Studio.
π Requirements to install the app
- Use phones with Android Api 26+
- Having an internet connection
π This application was developed using Kotlin and uses the following components:
- Jetpack compose
- Coroutines
- Clean architecture (Domain, Data, Presentation)
- MVVM
- App center - Crashlytics - Continuos integration
- Repository pattern
- Use cases
- StateFlow
- Mutable State
- Jetpack navigation compose
- Lottie animations
- Timber (Logs)
- Dagger Hilt (Dependency injection)
- Coil (Load images)
- Retrofit (HTTP requests)
- Pagination
- Unit testing (Mockk, Thruth, Coroutines tests)
π Screenshots Light theme
Splash |
Home |
Login |
Search |
Detail |
![](https://raw.githubusercontent.com/Bikcodeh/Mubi/main/assets/screenshots/splash.png) |
![](https://raw.githubusercontent.com/Bikcodeh/Mubi/main/assets/screenshots/home.png) |
![](https://raw.githubusercontent.com/Bikcodeh/Mubi/main/assets/screenshots/login.png) |
![](https://raw.githubusercontent.com/Bikcodeh/Mubi/main/assets/screenshots/search.png) |
![](https://raw.githubusercontent.com/Bikcodeh/Mubi/main/assets/screenshots/detail.png) |
Leave confirm |
Profile |
Searched |
Season |
Pagination error |
![](https://raw.githubusercontent.com/Bikcodeh/Mubi/main/assets/screenshots/leave_confirm.png) |
![](https://raw.githubusercontent.com/Bikcodeh/Mubi/main/assets/screenshots/profile.png) |
![](https://raw.githubusercontent.com/Bikcodeh/Mubi/main/assets/screenshots/searched.png) |
![](https://raw.githubusercontent.com/Bikcodeh/Mubi/main/assets/screenshots/season.png) |
![](https://raw.githubusercontent.com/Bikcodeh/Mubi/main/assets/screenshots/error_pagination.png) |
Error |
![](https://raw.githubusercontent.com/Bikcodeh/Mubi/main/assets/screenshots/error_internet.png) |
π Screenshots Dark Mode
Splash |
Home |
Login |
Search |
Detail |
![](https://raw.githubusercontent.com/Bikcodeh/Mubi/main/assets/screenshots/splash.png) |
![](https://raw.githubusercontent.com/Bikcodeh/Mubi/main/assets/screenshots/home_dark.png) |
![](https://raw.githubusercontent.com/Bikcodeh/Mubi/main/assets/screenshots/login_dark.png) |
![](https://raw.githubusercontent.com/Bikcodeh/Mubi/main/assets/screenshots/search_dark.png) |
![](https://raw.githubusercontent.com/Bikcodeh/Mubi/main/assets/screenshots/detail_dark.png) |
Leave confirm |
Profile |
Searched |
Season |
Pagination error |
![](https://raw.githubusercontent.com/Bikcodeh/Mubi/main/assets/screenshots/leave_confirm_dark.png) |
![](https://raw.githubusercontent.com/Bikcodeh/Mubi/main/assets/screenshots/profile_dark.png) |
![](https://raw.githubusercontent.com/Bikcodeh/Mubi/main/assets/screenshots/searched_dark.png) |
![](https://raw.githubusercontent.com/Bikcodeh/Mubi/main/assets/screenshots/season_dark_mode.png) |
![](https://raw.githubusercontent.com/Bikcodeh/Mubi/main/assets/screenshots/error_pagination_dark.png) |
Error |
![](https://raw.githubusercontent.com/Bikcodeh/Mubi/main/assets/screenshots/error_internet_dark.png) |
The application is built using Clean Architeture pattern based on Architecture Components on Android. The application is divided into three layers:
![Clean Arquitecture](https://camo.githubusercontent.com/4905eb9730044655c49827c2b6c8842a67a42b496a2fb444b0b726d3a5ef84da/68747470733a2f2f6465766578706572746f2e636f6d2f77702d636f6e74656e742f75706c6f6164732f323031382f31302f636c65616e2d6172636869746563747572652d6f776e2d6c61796572732e706e67)
- Domain: This layer contains the business logic of the application, here we define the data models and the use cases.
- Data: This layer contains the data layer of the application. It contains the database, network and the repository implementation.
- Presentation: This layer contains the presentation layer of the application.
MIT
Bikcodeh