Skip to content

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

License

Notifications You must be signed in to change notification settings

sergio11/MovieAddicts

Repository files navigation

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

Organization and structure of the application

Tech stack & Open-source libraries

  • Minimum SDK level 23
  • 100% Kotlin based + 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 - constructing the REST API
    • OkHttp3 - implementing interceptor, logging and mocking web server
    • Glide - loading images
    • 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.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages