- Basic Search Field or EditText to enter Repo name
- Show list of 10-20 items in RecyclerView
- Use Material Design to display Repositories with details - (full_name, owner, description, forks_count, watchers_count, stargazers_count)
- Click on Card should open browser and take to repository using html_url
- Use Retrofit to make network calls
- Use LiveData to return data
- Store an required data to database using Room (Hint: Repository Object)
- Use Repository Pattern
-
LiveData
Android Official:https://developer.android.com/topic/libraries/architecture/livedata
Blog: https://blog.mindorks.com/understanding-livedata-in-android
-
Retrofit Blog: https://futurestud.io/tutorials/retrofit-getting-started-and-android-client Official: https://square.github.io/retrofit/
-
Room Official: https://developer.android.com/training/data-storage/room Codelab (Uses Repository Pattern): https://codelabs.developers.google.com/codelabs/android-room-with-a-view/#0
-
Repository Pattern Official: https://developer.android.com/jetpack/docs/guide#recommended-app-arch
-
Material Guidelines https://material.io/components/cards/
-
Github API https://developer.github.com/v3/search/#search-repositories