Skip to content

alexymumo/Github

Repository files navigation

Github-App

  • Android application built using Kotlin and Github API to search for a github user profile.

Table of Contents

Prerequisite

Architecture

TechStack

  • Kotlin - Modern but already mature programming language aimed to make developers happier. It's concise, safe, interoperable with Java and other languages, and provides many ways to reuse code between multiple platforms for productive programming.
  • Hilt - Dependency injection library for kotlin and android
  • Jetpack Components
    • Jetpack Compose - Modern toolkit for building native UI.
    • Android KTX - Provide concise, idiomatic Kotlin to Jetpack and Android platform APIs.
    • AndroidX - Major improvement to the original Android Support Library, which is no longer maintained.
      • Lifecycle - Perform actions in response to a change in the lifecycle status of another component, such as activities and fragments.
      • ViewModel - Designed to store and manage UI-related data in a lifecycle conscious way. The ViewModel class allows data to survive configuration changes such as screen rotations.
    • Room - Provides an abstraction layer over SQLite used for offline data caching.
    • Navigation Component - Component that allows easier implementation of navigation from simple button clicks to more complex patterns.
    • Retrofit - Type-safe http client and supports coroutines out of the box.
  • GSON - JSON Parser,used to parse requests on the data layer for Entities and understands Kotlin non-nullable and default parameters.
  • OkHttp-Logging-Interceptor - Logs HTTP request and response data.
  • Coroutines - Library Support for coroutines.
  • Flow - Flows are built on top of coroutines and can provide multiple values. A flow is conceptually a stream of data that can be computed asynchronously.
  • Timber - Library for easier logging.
  • Coil - Image Library from loading images from the database and caching in memory.
  • kotlinx.coroutines - Library Support for coroutines,provides runBlocking coroutine builder used in tests.

ScreenShots

Home Repositories BookMarks

Demo

app.mp4

Test

CI-CD

About

Github app

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors