Skip to content

hossein69ameri/GithubUsers

Repository files navigation

GitHubUsers

GitHubUsers is a sample Android project using GitHub Rest API based on MVVM architecture. It showcases the latest Android tech stacks with well-designed architecture and best practices

Using this app you can search for users and See the details of a user and add him to your favourites

Screen Shot

| |

Features

100% Kotlin

MVVM architecture

Android Architecture Components

Navigation Component

Kotlin Coroutines

KotlinFlow + StateFlow

Single activity pattern

Dependency injection

Tech Stacks

Retrofit + OkHttp - RESTful API and networking client.

Hilt - Dependency injection.

RoomDB - Save data in a local database using Room.

Material Design - Material Components are interactive building blocks for creating a user interface.

ViewBinding - View binding is a feature that allows you to more easily write code that interacts with views

Android Architecture Components - A collections of libraries that help you design rebust, testable and maintainable apps.

ViewModel - UI related data holder, lifecycle aware.

Navigation component - Fragment routing handler

Coroutines - Concurrency design pattern for asynchronous programming.

Flow - Stream of value that returns from suspend function.

Coil - Image loading

Architectures

alt - Github

View : Activity/Fragment with UI-specific logics only.

ViewModel : It keeps the logic away from View layer, provides data streams for UI and handle user interactions

Model : Repository pattern, data layers that provide interface to manipulate data from both the local and remote data sources. The local data sources will serve as single source of truth

Contact

Have an project? DM me at

hossein.arabameri69@gmail.com

Releases

No releases published

Packages

No packages published

Languages