Devit951 / Mediateka

The app demonstrates principles of usecases with RxJava2 , Dagger2 , Room , MVP , Mockito and Clean Architecture in Android. πŸ“š

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Open Source Love svg1 Travis-ci GitHub license

3512px

Google-Play

Mediateka

About

The app demonstrates principles of Clean Architecture in Android.

Based on data from https://www.themoviedb.org/

Screenshots

1 4 6

Simple illustrate demo app https://www.youtube.com/watch?v=mIP0qA8URfE

Current functuonality :

  • First tab (ActualCinemas) : filter cinemas and show actual cinemas
  • Second tab (TopRatedCinemas) : filter cinemas and show top rated cinemas
  • Third tab (UpComingCinemas) : filter cinemas and show future cinemas
  • Each CinemaDetail's screen contain cinema info and all cast's to this cinema
  • Each ActorDetail's screen contain actor info and all cinema's to this actor
  • CinemaDetailActivity gives possibility to schedule cinema time
  • Mediateka perfectly work without internet connection(Need first time to download data)
  • Realized search functionality (cinemas , actors)
  • Realzied database with many-to-many relationship's
  • Realized Transtition animation's between screen's
  • All screen's have progress bar for responsiveness
  • Support android version from 4.4
  • Presintation layer work with MVP pattern

Clean diagram

Clean-diagram

Data Layer

Data-layer

Coming soon

  1. Add the service which handle new cinams and create notification to show user
  2. Add Advanced Search screen.
  3. Support landscape orientation and tablets.
  4. And more , more some beatiful features...

Technology

  1. Retrofit 2 is the #1 library for network calls at the moment.
  2. RxJava 2 brings the possibility to work with streams of data and helps to connect different Clean Architecture layers with each other.
  3. Dagger 2 helps to achieve Dependency Inversion principle through Dependency Injection mechanisms.
  4. Room persistence library provides an abstraction layer over SQLite to allow fluent database access while harnessing the full power of SQLite.
  5. Picasso a powerful image downloading and caching library for Android
  6. Pallete beatiful support libary for dynamic change background view color

Testing

100% Unit tested presentation layer.

About

The app demonstrates principles of usecases with RxJava2 , Dagger2 , Room , MVP , Mockito and Clean Architecture in Android. πŸ“š

License:Apache License 2.0


Languages

Language:Java 97.5%Language:Kotlin 2.5%