Skip to content

Latest commit

 

History

History
64 lines (48 loc) · 3.95 KB

README.md

File metadata and controls

64 lines (48 loc) · 3.95 KB

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

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.