Application to allow user to search his favourite repositories from Github.

Overview

Github Search Repositories

App details:

  • The application contain one screen with a search field and list of repositories.

  • After the user inputs, the search query in the text field application query https://api.github.com/search/repositories for a list of repositories. API details Search GitHub Docs

  • Search request result contain 30 items and support pagination.

  • List item contains repository info:

    • Owner avatar image
    • Owner name
    • Repository name
    • Repository title
    • Repository description
    • Repository URL
  • The application support phone and tablet

  • The application support portrait and landscape layout

  • The app obfuscated with R8

Welcome screen Github repositories list

Tech Stack

  1. kotlin, kotlin-coroutines
  2. MVVM
  3. Multimodular Architecture
  4. Hilt
  5. LiveData
  6. Navigation Components
  7. Custom Fonts
  8. Lotti for animations
  9. Retrofit
  10. Test coverage using Unit & Instrumentation tests

Architecture

  • Backend APIs are called using kotlin-coroutines (flow, suspend)
  • Retrofit is used for fetching data and parsing API responses
  • UI is updated using Livedata and Data-binding

Multi modular project structure

This project aims for showcasing a multi modular architecture based on 2 concepts: Libraries and Features

  • Features contains all user facing functionality (e.g. splash, home)
  • Libraries are shared modules that help the building of features (e.g. base, core, navigation, networking, resources)

Navigation

  • Between Activities: To launch activity from different feature, action name is used in intent.
  • Between Fragments: Navigation graph is created to move between fragments.

To run this project:

You'll need minimum android studio arctic fox 2020.3.1

References

  1. Kotlin + buildSrc
  2. Lotti-android
  3. Lotti-files
You might also like...
Search in the categories of movies, music, e-books and podcasts with the keyword
Search in the categories of movies, music, e-books and podcasts with the keyword

CaseStudy In this application, you can search in the categories of movies, music, e-books and podcasts with the keyword you want, add them to your fav

Search image app [Adanian Labs Interview], Android developer role
Search image app [Adanian Labs Interview], Android developer role

Pixar This is App shows you Images from the Pixabay API Table of Contents Functionalities Approach Screenshots How To Setup Libraries Used Author Info

An Android app consuming Pixabay API to search and display list of images, built with MVVM pattern
An Android app consuming Pixabay API to search and display list of images, built with MVVM pattern

Images An Android app consuming Pixabay API to search and display list of images, built with MVVM pattern as well as Architecture Components. Min Api

PokeDexApi is a simple version of PokeApi with search functionality.

PokeDex Api PokeDexApi is a simple version of PokeApi with search functionality based on KTOR. Documentation Base Url https://poki-dex.herokuapp.com E

A podcast proxy that sits between itunes search api and android apps allowing normalization of rss feeds to standard Json format that can be consumed by apps.

Podcasts Rss Feeds Search Proxy A podcast proxy written using kotlin dsl that sits between itunes search api, podcasts rss feeds and android apps allo

Lucilla - Fast, efficient, in-memory Full Text Search for Kotlin

Lucilla Lucilla is an in-memory Full Text Search library for Kotlin. It allows t

Add Ios Swipe Search TextField Component in Android Jetpack Compose.
Add Ios Swipe Search TextField Component in Android Jetpack Compose.

IosSwipeSearchCompose Add Ios Swipe Search TextField Component in Android Jetpack Compose. How it looks Usage val text = remember { mutableStateOf("")

:blue_book: A diary application optimized for user experience.
:blue_book: A diary application optimized for user experience.

Easy Diary README of Korean(한국어) This is a diary application optimized for user experience. Demo videos Basic function preview Support Features 01. Wr

An application that allows the user to update variety of smartphones that are used such as iPhone and Android
An application that allows the user to update variety of smartphones that are used such as iPhone and Android

PhoneApplication An application that allows the user to update variety of smartphones such as iPhone and Android. This application allows users to add

Owner
Arsalan Mehmood
Senior Software Engineer
Arsalan Mehmood
Github User App for searching Github Users and get several information from it.

GithubUserApp Github User App for searching Github Users and get several information from it. This code implement with Coroutines, Retrofit, Architect

Wahyu Hendiarto W. 0 Apr 16, 2022
Anime-Info-Search-Jikan - Search Information about Anime

Anime-Info-Search-Jikan Search Information about Anime. Home Page Information Pa

null 3 Nov 13, 2022
Automatically generates UI demos which allow users to call any function with any parameters

Automatically generates UI demos which allow users to call any function (including composable ones) with any parameters. Useful for building demo screens in playground apps of various design systems.

Anton Popov 3 Jul 28, 2022
Simple view which allow you to customise your pizza's toppings and size as per your choice.

TwistedPizzaToppingsView Overview Simple view which allows options to customize your pizza toppings and size as per your choice. Features Android 12 s

MindInventory 19 Dec 18, 2022
Github user finder (Android-Kotlin)

The following example is a simple Android application for finding users from Github service using modern technology.

Hussein Habibi Juybari 4 Jun 7, 2022
A TODO list app with location reminders that remind the user to do something when the user is at a specific location

Project Title Location Reminder Getting Started A TODO list app with location reminders that remind the user to do something when the user is at a spe

Raghav Saboo 0 Dec 5, 2021
A small application for working with the Github API, made as a practical task. GeekBrains, course of study: Popular libraries: RxJava 2, Dagger 2, Moxie.

GeekBrains_Course_AndroidOnKotlin_HW_My_Movie Домашнее задание к занятию №2-6 Студента GeekBrains Веремеенко Дмитрия Факультет: Android-разработки Кур

Dmitriy 3 Aug 24, 2021
This is a GitHub template repository intended to kickstart development on an Android application.

Android App Template This is a GitHub template repository intended to kickstart development on an Android application. This project comes set with a h

Raju Yadav 0 Feb 9, 2022
A simple store project that includes a list of products, search on products, details of the product, and review submission.

AdidasTest A simple store project that includes a list of products, search on products, details of the product, and review submission. Summary Technol

Mohammad 5 May 8, 2021