Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fevziomurtekin/DeezerClone
This Application using Dagger Hilt, Coroutines, Flow, Jetpack (Room, ViewModel, LiveData),Navigation based on MVVM architecture.
https://github.com/fevziomurtekin/DeezerClone
android coroutine coroutines databind flow jetpack kotlin kotlin-serialization livedata mockito-kotlin mockk mvvm navigation retorofit2 robolectric room viewmodel
Last synced: 3 months ago
JSON representation
This Application using Dagger Hilt, Coroutines, Flow, Jetpack (Room, ViewModel, LiveData),Navigation based on MVVM architecture.
- Host: GitHub
- URL: https://github.com/fevziomurtekin/DeezerClone
- Owner: fevziomurtekin
- License: apache-2.0
- Created: 2020-09-25T14:05:35.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2022-11-26T15:35:10.000Z (almost 2 years ago)
- Last Synced: 2024-06-25T20:54:43.860Z (5 months ago)
- Topics: android, coroutine, coroutines, databind, flow, jetpack, kotlin, kotlin-serialization, livedata, mockito-kotlin, mockk, mvvm, navigation, retorofit2, robolectric, room, viewmodel
- Language: Kotlin
- Homepage:
- Size: 14.9 MB
- Stars: 95
- Watchers: 2
- Forks: 9
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-android-kotlin-apps - DeezerClone
README
Deezer Clone
Deezer Clone application, Dagger Hilt, Coroutines, Flow, Jetpack (Room, ViewModel,Navigation LiveData) based on MVVM architecture. Also fetching data from the network and integrating local data in the database via repository pattern.
## APK
Click and go to releases page [Releases](https://github.com/fevziomurtekin/DeezerClone/releases/) to download the latest APK.## Tech stack - Library
- [Kotlin](https://kotlinlang.org/) , [Coroutines](https://github.com/Kotlin/kotlinx.coroutines) , [Flow](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/)
- [Dagger-Hilt](https://developer.android.com/training/dependency-injection/hilt-android)
- [Kotlin-DSL](https://docs.gradle.org/current/userguide/kotlin_dsl.html)
- JetPack
- [LiveData](https://developer.android.com/topic/libraries/architecture/livedata)
- [Lifecycle](https://developer.android.com/jetpack/androidx/releases/lifecycle)
- [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel)
- [Room](https://developer.android.com/topic/libraries/architecture/room)
- [Navigation](https://developer.android.com/guide/navigation/navigation-getting-started)
- [Data Binding](https://developer.android.com/topic/libraries/data-binding)
- [MVVM Architecture]() (View - DataBinding - ViewModel - Model)
- Repository pattern
- [Retrofit2 & OkHttp3](https://github.com/square/retrofit)
- [Gson](https://github.com/google/gson)
- [Timber](https://github.com/JakeWharton/timber)
- [Material-Components](https://github.com/material-components/material-components-android)
- [Coil](https://github.com/coil-kt/coil)
- [ShimmerLayout](http://facebook.github.io/shimmer-android/)
- [Detekt](https://detekt.github.io/detekt/)
- Test
- [mockK](https://mockk.io/)
- [Mock Server](https://www.mock-server.com/)
- [Robolectric](http://robolectric.org/)
- [Mockito Kotlin](https://github.com/nhaarman/mockito-kotlin)
- [Turbine](https://cashapp.github.io/turbine/docs/0.x/turbine/)
- [Junit](https://junit.org/junit5/)
- [Navigation/Deeplink Test](https://github.com/android/architecture-components-samples/tree/main/NavigationAdvancedSample)## Architecture
DeezerClone is based on MVVM architecture and a repository pattern.![architecture](https://raw.githubusercontent.com/fevziomurtekin/hackernewsapp/master/screenshot/mvvm.png)
## Detekt
A static code analysis tool for the Kotlin programming language. It operates on the abstract syntax tree provided by the Kotlin compiler.
You can check the code by running the this command.```properties
./gradlew detektDeezer
```## API
Used Deezer API. Deezer API provides a RESTful API. [Link](https://developers.deezer.com/api/)## MAD Scorecard
## Roadmap
- [x] Media player will be created using Exoplayer.
- [x] Favorites page will be created.
- [x] Application will be testing and is out new release.
- [x] Base repository will created.
- [x] UI test will be writed.
- [ ] Will be migrate to MVVM to MVI
- [ ] Will be migrate to Jetpack Compose## License
The Apache License 2.0 - see [`LICENSE`](LICENSE) for more details