Skip to content

Aplicativo Android feito utilizndo MVVM e Clean Archtecture para fins de estudo!

License

Notifications You must be signed in to change notification settings

N0stalgiaUltra/MoviesAPP

Repository files navigation

Movies App

License API
WhatsApp Linkedin Gmail

⭐ This project was created to display my tech knowledge in native Android development with Kotlin. More techincal info below.

Movies App is a native Android App made with Kotlin. The app is capable of getting information from a RESTful API, using Retrofit; displaying the data (LiveData) in cards, inside a Recycler View; displaying movies posters with Glide and utilizing Clean Architecture and SOLID patterns to make the code clean, reusable and decoupled.


screenshot screenshot

Download

Download the APK directly from this repo. You can check out here how to install an APK to your Android device.

Tech Stack

  • Minimum SDK Level 25

  • Kotlin

  • Jetpack

    • Live Data: Used for observe data from a reactive point of view. Allowing the data used in UI to be updated automatically.
    • Lifecycle: Observe the Android lifecycle and manipulate the states from the UI after the lifecycle change.
    • ViewModel: Used to retrieve the data from the Model layer and update the data from View.
    • ViewBinding: Manages the XML layout views in Kotlin through a class.
    • Recycler View: Show a more efficient way of displaying a list of Views in the screen, recycling the views for better performance.
  • Architecture

    • MVVM (Model-View-ViewModel) + Clean Architecture: The first item is used to separate the logic of the app's UI, helping with testability and organization; also, the Clean Architecture helps to build the app's main system with well designed layers, who work with independency, facilitating with the scalability and maintenance.
    • Repository pattern: This pattern help with the data layer´s abstraction
  • Libraries

    • Glide: Used for image loading and caching.
    • Retrofit & OkHTTP: Used to make the communication with a RESTful API
    • Koin: Used for Dependency Injection

Third Party APIs

The Movies Database, this API provides all kind of data related to movies and series and it's completely free.

Features

Popular movies listing

Layout created with CardView and Linear Layout. The app consumes the Movies API with Retrofit and OkHttp, and mapping the response into a movie object displayed by the Recycler View

Movie detail screen

Screen created to display the details about a movie card. This screen contains an abstract and others info about the movie selected. Those infos are passed by de Main Activity via Intent.

License

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.


Google Play e o logótipo do Google Play são marcas comerciais da Google LLC.

About

Aplicativo Android feito utilizndo MVVM e Clean Archtecture para fins de estudo!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages