Skip to content

JMAROUF/MobileCodingChallenge

Repository files navigation

MobileCodingChallenge

with this project you can get the last stared repos in github API , the user will :

  • be able to list the most starred Github repos that were created in the last 30 days.
  • see the results as a list. One repository per row.
  • see for each repo/row the following details :
    • Repository name
    • Repository description
    • Numbers of stars for the repo.
    • Username and avatar of the owner.

GET STARTED

To run this project you must install some programs to get a development environment and then run it on an Android device or Emulator .

Prerequisites

  1. download the JDK : DOWNLOAD JDK
  2. follow the instructions to install it : INSTALL JDK
  3. download the Android Studio : DOWNLOAD Android Studio
  4. follow the instructions to install it : INSTALL Android Studio

Run the project

To run this project floow these steps :

  • Open Android Studio
  • Go to File/open/(go to project location )
  • select the project & click OK
  • wait for the compilation and click the green triangle on the top of window
  • choose an emulator or connect your device to the computer
  • select the emulator/device and click OK

Deployment

To deploy this project you should generate an APK , to do this go the buid/generate Signed APK and follow the steps using this link : GENERATE SIGNED APK

Libraries

this project is developed with a very popular libraries to get a clean code :

  • To access the remote API the Retrofit2 was the choice because it facilitate the GSON conversion , it is based on REST API
  • To download lot of repos at once and without hurting performance the JETPACK PAGING LIBRARY was the solution using PagedList and DataSource
  • For the architecture we used MVVM as an Android Architecture Components* which separate the views and the business logic

Useful links

Authors

JMAROUF

APIs

Github Api v3

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages