sDevPrem / Assignment5671

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RoadCastAssignment

This is a two screen app which show your current location and top rated movies respectively.

Features

  1. Track your current location using GPS on the Map.
  2. Handling of location permission and GPS setting efficiently.
  3. Explore top rated Movies.
  4. Single Activity Architecture and uses Jetpack navigation to navigate through destination (fragments).
  5. Retrofit to do api calls and gson to parse response.
  6. Paging3 to load only required Movies and for infinite scroll.
  7. Hilt for dependency injection.
home movies
RoadCastAssignmentScreenRecording.1.mp4

TODO

  • Show a progress at bottom when appending pages in movies screen.
  • Show a Error message and give the user a button to retry.

Architecture

This app follows MVVM architecture with Clean architecture, Uni Directional Flow (UDF) pattern and Single Activity architecture pattern.

Packages

Build With

Kotlin: As the programming language.

Jetpack Navigation : To navigate between destinations(fragments).

Google Maps API : To track user's location on the Map.

Hilt : As a dependency injector.

Paging3: For infinite scrolling.

Retrofit: As Api Client.

Coroutines: For Asynchronous programming.

Installation

Simple clone this app and open in Android Studio.

Google Map Integration

Do these steps if you want to show google maps. The tracking functionalities will work as usual even if you don't do these step.

  1. Create and Get Google Maps API key by using this official guide
  2. Open local.properties file.
  3. Enter your API key like this:
MAPS_API_KEY=your_maps_api_key

About


Languages

Language:Kotlin 100.0%