Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
Roaim committed Aug 13, 2019
2 parents fb3eabc + e26f75a commit ff9d4f4
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# KotlinPinBoard
An async remote resource downloading library with sample pin board application using Android Jetpack written in Kotlin. ** Read the Wiki to know more about the project.**

## Technologies
* Android
* Kotlin
* Jetpack
* MVVM
* Repository Pattern
* LiveData
* Coroutine
* Retrofit
* Navigation Component
* Paging Library
* Android Data Binding
* Androidx Testing
* Mockito

## Modules:
### 1. lib_pin_downloader (Async Downloader library)
#### Features:
* Download Bitmap
* Download Json and serialize to kotlin data object
* Abstraction for supporting future data types
* Cache Data in LruCache
* If data is present in the cache then return from cache otherwise fetch from remote service and add to cache
* Uses 1/8 of the total allocated memory for caching and evicts less frequent item when cache reaches its limit
* Fully tested with 100% test coverage
### 2. sample_pinboard_app (Sample Gallery App)
#### Features:
* Uses PinDownloader library module to load json and bitmap files
* Display images in Gallery by RecyclerView and PagedListAdapter
* Load more data when scrolling to the end of the list
* Upon clicking on an item navigate to full image screen with the help of Navigation Component

0 comments on commit ff9d4f4

Please sign in to comment.