-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
+ add information including app structure and preview
- Loading branch information
1 parent
a7dd04e
commit b079b12
Showing
1 changed file
with
30 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,32 @@ | ||
# GitHubSearch | ||
:octocat: A GitHub Search Android apps using Coroutines Flow, Dagger 2, MVVM, Modularization, Clean Architecture, Airbnb Epoxy, and Unit Test. | ||
There are 2 features on this apps: | ||
1. Search GitHub users by name. | ||
2. Get detail information of the user including Profile and Repository with load more features. | ||
|
||
## 💡 Stack and Libraries | ||
* [Kotlin](https://https://kotlinlang.org/) - built with 100% Kotlin. | ||
* [Coroutines Flow](https://github.com/alvayonara/OpenWeatherApps#:~:text=with%20100%25%20Kotlin.-,Coroutines%20Flow,-%2D%20emit%20multiple%20values) - emit multiple values sequentially (flatMap, zip, etc.) | ||
* [Jetpack Components](https://developer.android.com/jetpack/) | ||
- Navigation | ||
- ViewModel | ||
- Material Components | ||
- ViewBinding | ||
- KTX | ||
* [Dagger 2](https://dagger.dev/) - dependency injection. | ||
* [Clean Architecture](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html) - separates code into layers. | ||
* [Modularization](https://developer.android.com/guide/app-bundle/play-feature-delivery/) - separating logical components of project into discrete modules. | ||
* [Epoxy](https://github.com/airbnb/epoxy) - library for building complex screens in a RecyclerView. | ||
* [Retrofit2](https://github.com/square/retrofit/) - REST APIs. | ||
* [Moshi](https://github.com/square/moshi) - modern JSON library. | ||
* [Glide](https://github.com/bumptech/glide/) - load images. | ||
* [Timber](https://github.com/JakeWharton/timber/) - logger. | ||
* [Chucker](https://github.com/ChuckerTeam/chucker/) - an HTTP inspector. | ||
* [MockK](https://mockk.io/) - mocking unit testing. | ||
|
||
## 💎 Architecture | ||
This apps uses Clean Architecture to separate code into layers (Data - Domain - Presentation). | ||
![app structure](./image/app-structure.png) | ||
|
||
## 📱 App Preview | ||
![app preview](./image/app-preview.png) |