Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rllyhz/bfaa-final-submission

Android Fundamental Dicoding Academy - Final Submission
https://github.com/rllyhz/bfaa-final-submission

android-architecture-components dagger-hilt kotlin-android kotlin-stateflow lifecycle-livedata lifecycle-viewmodel livedata-viewmodel navigation-components navigation-components-kotlin retrofit2 room-persistence-library viewmodel

Last synced: 8 days ago
JSON representation

Android Fundamental Dicoding Academy - Final Submission

Awesome Lists containing this project

README

        

# Dicoding Submission: Belajar Fundamental Aplikasi Android (Final Submission)
[![Platform](https://img.shields.io/badge/platform-Android-green.svg)](http://developer.android.com/index.html) [![Kotlin](https://img.shields.io/badge/kotlin-1.3.72-blue.svg)](http://kotlinlang.org) [![Gradle](https://img.shields.io/badge/gradle-4.0.0-%2366DCB8.svg)](https://developer.android.com/studio/releases/gradle-plugin)

This repository is the result of my submission project in [Dicoding Academy](https://www.dicoding.com) class, **Learn Fundamental Android Application** that implements MVVM(Model View ViewModel) architecture using the components ViewModel, LiveData, Dagger2, Room, Retrofit, etc.

This project got 5 stars 🎉🎉

You can clone this repo and import to your Android Studio

```
https://github.com/rllyhz/bfaa-final-submission.git
```

## Demo


Home



Home Screen


User Detail



User Detail Screen


Explore



Explore Screen Empty
Explore Screen Searhing Mode


Profile



Profile Screen

## Features:

- Using MVVM (Model-View-ViewModel) Architecture
- Using Dagger Hilt for dependency injection
- Using Navigation Components for Navigation UI
- Using Localization for support Indonesian and English languages
- Using Room Persistence for local database
- Using ViewBinding
- Using Kotlin StateFlow to handle state flow of data
- Using Retrofit to request API network
- Using Glide for loading and caching image from URL

## Dependencies :
- [Lifecycle & Livedata](https://developer.android.com/jetpack/androidx/releases/lifecycle)
- [Navigation Component](https://developer.android.com/jetpack/androidx/releases/navigation)
- [Dagger Hilt](https://dagger.dev/hilt/)
- [Retrofit 2](https://square.github.io/retrofit/)
- [Glide](https://github.com/bumptech/glide)
- [AndroidX](https://mvnrepository.com/artifact/androidx)
- [Kotlin StateFlow](https://developer.android.com/kotlin/flow/stateflow-and-sharedflow)

## Author

**Rully Ihza Mahendra** - Reach me on LinkedIn [here](https://www.linkedin.com/in/rully-ihza-mahendra-275a591a5/)
**My Personal Web** - [https://rllyhz.github.io](https://rllyhz.github.io)
**My Email** - [[email protected]]([email protected])

## You can support me

> Just **star** or **fork** this repository, and follow my github. You have *supported* me!

## LICENSE

```

Copyright © 2021 Rully Ihza Mahendra

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

```