Skip to content

kolanse/ScalIo

Repository files navigation

Android CI

Android Developer Test for Scal.Io

This app fetches a list of github users and displays the results in the UI. The app paginates the response.

Author

Getting Started

This project uses the Gradle build system. Clone the project from GitHub and open it using Android Studio. This project was developed using Android Studio Artic Fox so make sure your IDE is updated. After cloning, make sure your device has internet connectivity and run the project.

Screenshots

App Screenshots

Libraries Used

  • Architecture - Jetpack architechure libraries. A collection of libraries for managing app component lifecycles.
  • Android KTX - Concise Kotlin code with less verbosity
  • Flow flow for observing and collecting data across the app
  • Paging Paging 3 implemenation for managing pagination
  • Lifecycles - Monitor lifecycle events and update UI accordingly
  • Glide for image loading and caching
  • Hilt: for dependency injection
  • Room - To Acess App's SQLite's database , equipped with compile time checks.
  • Kotlin Coroutines for managing background threading with simplified code
  • Test - Android Testing Framework for unit and UI tests.

Documentation

The project is relatively straightforward with a little complexity around the paging 3 Implementation. The app has a local and remote package . Local helps cache the data that has been called from the api. The UserRemoteMediator is in charge of making the necessary network call to get users and cache gotten users from remote source. The UserviewModel monitors the current UI state and gives the neccessary instructructions to the repository in response to the UI actions. Monitoring and collection of data is done with the aid of Flow

About

Androud app showing paging implementation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages