Movie Guide is an open source Android application for TMDb. It showcases detailed information about movies, tv shows and actors from TMDb.
- Material design with delightful animations.
- Minimal and simple user interface, which user can get easily acquainted with.
- View movies, tv shows and actors information from TMDb.
- Search and filter your favorite movies, tv shows and people.
- View movie and tv show ratings from OMDb.
- Min SDK 21 with material design and animations
- Fully written in Kotlin language
- Follows MVP pattern for separation of concerns
- Retrofit 2 for performing network requests
- RxJava 2 and RxAndroid 2 for asynchronous functionality
- Dagger 2 for dependency injection with subcomponent multibindings
- KotterKnife for view bindings.
- Timber for logging
- Glide for image loading
- Paper Parcel for creating Parcelable objects
- Ice Pick for saving instance of objects
- Leak Canary for detecting memory leaks
- StorIO for offline functionality(WIP)
- Custom Tabs support library for TMDb login functionality
- Palette support library for extracting colors from image
- Other support libraries - AppCompat, RecyclerView, CardView, Design
In order to run this application, you need to get your own key from TMDb. You can do that by clicking here.
After you get an API key, put that key in gradle.properties
file as follows:
TMDB_API_KEY="your_api_key"
Now you can run the app by clicking *Run -> Run 'app'*.
You can contribute to the project by either finding out bugs or by requesting new features. Besides that, if you are a developer then you can contribute by submitting pull requests. There is TODO list to get you started with.
Any feedback or contributions are welcome!
- Write unit and integration tests
- Implement offline functionality using StorIO(WIP)
- UI Improvements
Copyright 2017 Ashish Kayastha
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.