jeju-road
![Android Version](https://img.shields.io/badge/API-23%2B-green?style=flat&logo=Android&logoColor=white")
Jeju Road Application is created for the convenience of travelers on Jeju Island.
Implementation based on MVVM architecture and Clean architecture. Also, Fetch data from the network via repository pattern.
π Android Project Dependency Graph
Creating an Android project dependency graph makes it easier to identify project dependencies.
It was written with reference to the JakeWharton project file.
π Stack & Libraries
- IDE : Android Studio
- Minimum SDK level 23
- Language : Kotlin based + Transfer build configuration from Groovy to KTS + Coroutines for asynchronous.
- Jetpack AAC
- LiveData : Observable data holder class.
- LifeCycle : Use lifecycle-aware components to perform actions in response to lifecycle events such as activities and fragments(viewmodel, livedata).
- ViewModel : Manage data holder classes related to UI and performs asynchronous operations using coroutines for optimal processing.
- Test
- JUnit : Simple framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks.
- Espresso : Use Espresso to write concise, beautiful, and reliable Android UI tests.
- Mockito : Java mocking framework for unit testing.
- Roboletric : Robolectric is a framework that brings fast and reliable unit tests to Android. Tests run inside the JVM on your workstation in seconds.
- Koin : Dependency injection.
- Retrofit2 : REST APIs.
- OkHttp3 : Implementing interceptor, logging web server.
- Glide : Image loader.
- Gson : Java library that can be used to convert Java Objects into their JSON representation.
- SwipeRefreshLayout : Use to manually refresh the list of restaurants.
- Shimmer : Use to implement skeleton loading screen
π MAD SCORECARD
π Architecture
Jeju Road is not using the local database yet.
![MVVM](https://user-images.githubusercontent.com/29699217/169539171-b84e7581-ff6e-4a60-b392-c87f3befda8c.png)
![clean](https://user-images.githubusercontent.com/29699217/169539214-f8b0fdb9-08a9-40ab-b577-d619f572c000.png)
π² API
Refer to the API document provided by the backend team.
Code Convention
Test Method Convention
given(option)_whenexpect (korea language & when using spaces, use )
ex) μκΈ°μΉ_λͺ»ν_μλ¬κ°_λ°μνμλ_μλ¬νμ΄μ§κ°_μ_보μ¬μ§λκ°μ_λν_ν
μ€νΈ