Github user finder (Android-Kotlin)

Overview

Github user finder (Android-Kotlin)

Getting Started

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

Screenshots:

Features

  • Support Dark mode
  • Searching users with job cancellation and debouncing
  • See user details by using live data
  • By using deep-link you can see user profile like this https://github.com/husseinhj in Android browser

API

This sample project uses the Github API to find users and to get user details based on their usernames. For more information, please go to Github API docs.

Dependencies

For reviewing which dependencies are used and the reason explained here.

Architecture

  • Single Activity
  • MVVM Pattern

View: Renders UI and delegates user actions to ViewModel

ViewModel: Can have simple UI logic but most of the time just gets the data from Repository

Repository: Single source of data. Responsible to get data from one or more data sources

Future works

  • Using Dependency Injection (Koin, Dagger)
  • Setup Github action as CI/CD
  • Add more test cases
Comments
  • Apply DI to project

    Apply DI to project

    • Fixed crash when converting date format with YYYY in Android below 6 and Java version 7
    • Inject all dependencies to guest classes
    • Refactor ToolbarAppearance class end extracted to another class as a NavigationAppearance class to manage the title and soft back button.
    bug enhancement 
    opened by Husseinhj 0
  • Use Koin Dependency Injection

    Use Koin Dependency Injection

    • Fixed crash when converting date format with YYYY in Android below 6 and Java version 7
    • Inject all dependencies to guest classes
    • Refactor ToolbarAppearance class end extracted to another class as a NavigationAppearance class to manage the title and soft back button.
    opened by Husseinhj 0
  • Release v1.2 (vc-3)

    Release v1.2 (vc-3)

    • Improved Dark mode colors
    • Improved animation of search results when users touch the screen
    • Improved orientation of the application
    • Maintain last application state when enabling Android dark mode or going to background
    • Enhanced application performance
    bug documentation enhancement 
    opened by Husseinhj 0
  • Handle server errors

    Handle server errors

    • Improve profile and search layout
    • Handle converting wrong string date format
    • Handle connection error inside of interceptor class and pass as an error message
    bug 
    opened by Husseinhj 0
  • Store ViewModels states and improve UI

    Store ViewModels states and improve UI

    • Dark mode colors updated.
    • Refactor ToolbarAppearance class to decouple from fragments
    • Selecting search items has been enhanced and touch effects have been improved
    • ViewModel states are saved when the app theme is changed or when the app goes to the background
    enhancement 
    opened by Husseinhj 0
  • Release v1.0.0

    Release v1.0.0

    • Include an onboarding page
    • Compatible with dark mode
    • The ability to search for users
    • View details of the user by clicking on the search result or deep-link (https://github.com/husseinhj)
    opened by Husseinhj 0
Releases(v1.2)
  • v1.2(Mar 8, 2022)

    • Improved Dark mode colors
    • Improved animation of search results when users touch the screen
    • Improved orientation of the application
    • Maintain last application state when enabling Android dark mode or going to background
    • Enhanced application performance
    Source code(tar.gz)
    Source code(zip)
  • v1.1(Mar 5, 2022)

  • v1.0.0(Mar 5, 2022)

    • Include an onboarding page
    • Compatible with dark mode
    • The ability to search for users
    • View details of the user by clicking on the search result or deep-link (https://github.com/husseinhj)
    Source code(tar.gz)
    Source code(zip)
Owner
Hussein Habibi Juybari
Mobile Developer @fastdic team
Hussein Habibi Juybari
Application to allow user to search his favourite repositories from Github.

Github Search Repositories App details: The application contain one screen with a search field and list of repositories. After the user inputs, the se

Arsalan Mehmood 1 Nov 26, 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
This project is basically PowerNukkit but just in Kotlin (check out the original PowerNukkit source here: https://github.com/PowerNukkit/PowerNukkit)

Introduction Nukkit is nuclear-powered server software for Minecraft: Pocket Edition. It has a few key advantages over other server software: Written

Chrones 5 Jul 7, 2021
Advent of Code 2021 in Kotlin, solved by myself. Focus on code readability. With GitHub Actions all puzzles are executed and their solutions printed

Advent of Code 2021 in Kotlin Focus on Code Readability. With CI Solution Printing. Welcome to the Advent of Code1 Kotlin project created by michaeltr

Michael Troger 1 Dec 12, 2021
Android Github service with paging, hilt and retrofit

github-paging-hilt-retrofit This repository contains a simple app that implements Dagger-Hilt in MVVM architecture, Retrofit using Kotlin. The app has

Evgeny 0 Dec 28, 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 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
🍣✨ Simple Ktor server to handle GitHub -> YouTrack, usually for YouTrack Standalone.

?? sushi Simple Ktor server to handle GitHub Issues to YouTrack, usually for YouTrack Standalone. Why? There is not really a definite way to handle Gi

Noelware 2 Nov 11, 2021
Project build to understand the concepts of Git and GitHub

Project build to understand the concepts of Git and GitHub. Summarizing the concepts learnt. Created a project in Android Studio Before installing And

Rifah A Khan 0 Oct 6, 2021
Launch Spring projects by github url

Ktor application made for quickly demonstrating Spring projects on our Java lessons. Spring launcher: Starts a fresh Postgres container Builds the pro

Vladislav 10 Jun 3, 2022
Display scrollable list of repositories of square organization in GitHub

Display scrollable list of repositories of “square” organization in GitHub. The app should consist of only one screen (Repositories Screen). Each list

Ajith v Giri 0 Nov 30, 2021
Gha-central-test - GitHub Actions Maven Central Test

GitHub Actions Maven Central Test Pushing a tag does a release. Local Maven Depl

James Ward 1 Jan 19, 2022
Bring type-safety to your GitHub actions' API!

GitHub Actions typing Bring type-safety to your GitHub actions' API! This is a GitHub action that validates your action's type specs (action-types.y(a

Piotr Krzemiński 23 Dec 18, 2022
Jetpack Compose for Desktop and Web, a modern UI framework for Kotlin that makes building performant and beautiful user interfaces easy and enjoyable.

Jetpack Compose for Desktop and Web, a modern UI framework for Kotlin that makes building performant and beautiful user interfaces easy and enjoyable.

JetBrains 10k Jan 7, 2023
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

Pankaj Singh 1 Nov 28, 2021
: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

Bulbasaur 316 Jan 1, 2023
An Online Meme Sharing app with swipeable vidoes, user can like, share different videos, each viewpager item has one video to show.

MemesSharing An Online Meme Sharing app with swipeable vidoes, user can like, share different videos, each viewpager item has one video to show. 1. Fl

Vikas Bajpayee 13 Aug 6, 2022
A webapp which generates a simple Discord profile banner image in real-time which shows user's status and activity.

DiscordProfileBanner This tool generates a Discord profile banner image in realtime. I wrote it for use in my AniList profile. An example in action: H

Quanta 11 Oct 17, 2022
myMaps displays a list of maps, each of which show user-defined markers with a title, description, and location.

My Maps Trevor Carrell myMaps displays a list of maps, each of which show user-defined markers with a title, description, and location. The user can a

null 0 Nov 1, 2021