Skip to content

pokk/mvp-magazine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

We provide movies and TV information by TMDB. You can use this app to know movies' overview or TV overview, see action stills and actors & actresses picture.

This application is based on an architecture called MVP architecture. Actually we don't only practice developing an application simply, but also create a base MVP architecture for other projects, too.

This is the first time for us to mix two languages in this project, one is Kotlin, the other one is Java, we could know which parts that Kotlin is stronger and more convenient than Java.

MVP architecture

We referenced the Google clean architecture to this application. There're three parts of clean architecture as below.

  1. Presentation Layer
  2. Domain Layer
  3. Data Layer.

programming language

Kotlin in Presentation Layer.
Java in Domain Layer and Data Layer.

Demo

001

002

003

Third-party library

We're using a lot of Rx family libraries.

  1. RxKotlin
  2. RxBinding
  3. RxBus
  4. RxLifecycle
  5. KotterKnife
  6. Retrofit2
  7. Glide
  8. Dagger 2

TODO & FEATURE WORK

architecture

Our architecture may not enough convenient for start-up project. If you have any good idea, please tell us.

  • Decouple between UseCases.
  • Decouple the injection of library component.

App

  • Checking movie and TV trailers.

License

Copyright 2016 Jieyi Wu

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.