Skip to content

Files

Latest commit

f268792 · Jun 16, 2022

History

History
81 lines (55 loc) · 4.08 KB

README.md

File metadata and controls

81 lines (55 loc) · 4.08 KB

jeju-road

Build Status Android Version

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

clean


📲 API

Refer to the API document provided by the backend team.

Code Convention

Test Method Convention

given(option)_when_expect (korea language & when using spaces, use _ )

ex) 예기치_못한_에러가_발생했을때_에러페이지가_잘_보여지는가에_대한_테스트