Skip to content

๐Ÿ” A sample project to see the implementation of functions such as Pageation, Search, Sort, Bookmark, etc.

License

Notifications You must be signed in to change notification settings

beomjo/kakao-search

Repository files navigation

๐Ÿ” kakao-search

License Build Status ktlint

Pageation was implemented using the Kakao search API,
and examples of search, alignment, separator, and bookmark functions can be viewed.

Clone Project

$ git clone --recursive https://github.com/beomjo/kakao-search.git

API

API from https://developers.kakao.com/
in your local.properties

REST_KEY={YOUR_KEY}

Download

Tech stack & Open-source libraries

  • Minimum SDK level 21
  • Coroutines, Flow for asynchronous.
  • LiveData - notify domain layer data to views.
  • Lifecycle - dispose of observing data when lifecycle state changes.
  • ViewModel - UI related data holder, lifecycle aware.
  • Room - Storing data in local database
  • Paging3 - Load and display data pages of large data sets from local storage or over a network
  • Dagger Hilt - Dependency Injection
  • Navigation Component - Move implementation between Fragment and Activity simply and reliably
  • Glide - Loading images
  • Bindables - DataBinding kit for notifying data changes from Model layers to UI layers.
  • Material-Components - Material design components like ripple animation, cardView.
  • Testing
    • kotest
    • mockk

Architecture

  • Clean Architecture
    • Structure image
    • Dependency diagram between layers image
  • MVVM Architecture (View - DataBinding - ViewModel - Model)

MAD STORE

summary kotlin jetpack

LICENSE

Designed and developed by 2021 beomjo

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.