Skip to content

An Android application consuming the GitHub API to search for users on Github, display their followers, following and repositories. The project is built with Compose, MVVM pattern as well as other architectural components and libraries.

Notifications You must be signed in to change notification settings

carolinemusyoka/GitApp

Repository files navigation

Git App

An Android application consuming the GitHub API to search for users on Github, display their followers, following and repositories. The project is built with Compose, MVVM pattern as well as other architectural components and libraries.

Table of Contents

Installation

This project uses the Gradle build system. To build this project, use the gradlew build command or use "Import Project" in Android Studio.

You can find the latest apk in the Release section, or you can download from here

UserFlow

The app shows a search screen, on the home page with a search bar. A user is able to search for a user using their username. The app displays the user's profile. When a user clicks on the profile, the app navigates to a detail screen, which displays the user's followers, following and repositories. When a user clicks on a repository, they are able to view the repository's description, stars, fork and watchers count and the topics under the repository.

Screenshots

Recording

vid.mp4

Architecture

The app is built using the MVVM architectural pattern. The app has composable screens that communicates to ViewModel which in turn communicates to the usecase which communicates with Repository to get data.

Libraries

  • Jetpack🚀
    • Viewmodel - Manage UI related data in a lifecycle conscious way
    • Compose - A modern declarative way to build android ui
    • Navigation - Handle everything needed for in-app navigation.
    • ViewModel - Easily schedule asynchronous tasks for optimal execution.
    • Room - Persistence library for Android.
  • Retrofit - Type-safe HTTP client and supports coroutines out of the box. Used for the network calls.
  • Gson - Used to convert JSON to Java/Kotlin classes for the Retrofit
  • Lottie Animation Library - A library for creating animated views and animations.
  • Accompanist Library - A library for building Android apps with the Jetpack Compose framework.
  • okhttp-logging-interceptor
    • logs HTTP request and response data.
  • kotlinx.coroutines - Library Support for coroutines
  • Hilt - Used for Dependency injection
  • Coil - Allows for fetching and displaying of images in the composables

About

An Android application consuming the GitHub API to search for users on Github, display their followers, following and repositories. The project is built with Compose, MVVM pattern as well as other architectural components and libraries.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages