An open API service indexing awesome lists of open source software.

https://github.com/sergio11/movieaddicts

A simple project to demonstrate an approach based on MVI + Clean architecture and modularization based on features and layers
https://github.com/sergio11/movieaddicts

coroutines coroutines-flow dagger2 firebaseauth firestore jetpack-android jetpack-navigation mvi-android mvi-clean-architecture objectbox retrofit2

Last synced: 10 months ago
JSON representation

A simple project to demonstrate an approach based on MVI + Clean architecture and modularization based on features and layers

Awesome Lists containing this project

README

          

Movie Addicts


License
API



A simple project to demonstrate an approach based on MVI + Clean architecture and modularization based on features and layers

[![Movie Addicts](https://img.youtube.com/vi/0wV9Mmp7_Ik/maxresdefault.jpg)](https://youtu.be/0wV9Mmp7_Ik)

## Organization and structure of the application





## Tech stack & Open-source libraries
- Minimum SDK level 23
- 100% [Kotlin](https://kotlinlang.org/) based + [Coroutines](https://github.com/Kotlin/kotlinx.coroutines)
- JetPack
- LiveData - notify domain layer data to views.
- Lifecycle - dispose observing data when lifecycle state changes.
- ViewModel - UI related data holder, lifecycle aware.
- Architecture
- Modularization by features and Layers
- MVI UI Architecture ( Event + State + Effect)
- Clean architecture approach with repository pattern
- Dagger 2 - dependency injection
- UI
- DataBinding - Android DataBinding kit for notifying data changes to UI layers.
- Material Design Components
- Design based on Constraint Layout
- Ripple animation, Shared element transition
- Persistence
- [Retrofit2 & Moshi](https://github.com/square/retrofit) - constructing the REST API
- [OkHttp3](https://github.com/square/okhttp) - implementing interceptor, logging and mocking web server
- [Glide](https://github.com/bumptech/glide) - loading images
- [ObjectBox](https://github.com/objectbox) - The superfast NoSQL database for implementing a local cache layer.
- Cloud Firestore - To persist users' favorite movies.
- Firebase Auth - To authenticate users

## Screenshots

### Login




### Movies





### Tv Series




### Stars

## MAD Score



## Visitors Count

## Please Share & Star the repository to keep me motivated.