Skip to content

TusharGogna/Github-Searcher-Android

Repository files navigation

Github-Searcher

The application uses the following components:
  1. Kotlin as the base language.
  2. Retrofit to fetch data from API.
  3. Dagger Hilt as Dependency Injector.
  4. MVVM with Clean architecture.
  5. Jetpack Compose for UI.
  6. Jetpack Navigation Compose for Navigation.
  7. Coil Compose for remote Image management.
  8. Splash Screen API for Splash Screen.
  9. Mockito for Mocks.

This is a simple application which uses internet permission in order to fetch user details from Github public API.

The flow is as following:

  • On Start Up, the Splash Screen with animation is loaded.
  • After that, you will see an empty screen with default text suggesting you to search for an ID.
  • On the same page i.e. Home Page, the user can also enter any other UserId in the TextField and click on Search button to fetch that user's Github details.
  • If you click on any of the Repositories, then you will navigate to a new Compose Screen where details related to that repository is disaplyed.
  • There are two buttons provided on this screen: 1. Visit Repository 2. Go Back.
    1. Visit Repository: This will open Github application as a Deeplink and navigate directly to the repository (if Github application is installed), else it will open the same in browser.
    2. Go Back: This will simply close the detail screen and go back to home screen.

Negative cases which are covered:

  • If user clicks on Search button without entering anything in the TextField, an error will be shown.
  • If there is no internet or the response fails, the corresponding error message will be shown.

More cases will be added soon.

Here are few screenshots:

This is the first screen which is displayed to the user. The Repository list is a scrollable list.

This is a repository details screen. In this, you can scroll the properties related to the repository and view the things such as stars, forks, language used along with 2 aforementioned buttons

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages