Mediateka
About
The app demonstrates principles of Clean Architecture in Android.
Based on data from https://www.themoviedb.org/
Screenshots
https://www.youtube.com/watch?v=mIP0qA8URfE
Simple illustrate demo appCurrent 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
Data Layer
Coming soon
- Add the service which handle new cinams and create notification to show user
- Add Advanced Search screen.
- Support landscape orientation and tablets.
- And more , more some beatiful features...
Technology
- Retrofit 2 is the #1 library for network calls at the moment.
- RxJava 2 brings the possibility to work with streams of data and helps to connect different Clean Architecture layers with each other.
- Dagger 2 helps to achieve Dependency Inversion principle through Dependency Injection mechanisms.
- Room persistence library provides an abstraction layer over SQLite to allow fluent database access while harnessing the full power of SQLite.
- Picasso a powerful image downloading and caching library for Android
- Pallete beatiful support libary for dynamic change background view color
Testing
100% Unit tested presentation layer.