-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Roaim Ahmed Hridoy edited this page Aug 13, 2019
·
4 revisions
Welcome to the KotlinPinBoard wiki!
The primary goal of this project is to showcase my android programming skills. To prove my quick learning capability, I decided to learn and implement kotlin and jetpack in this project. This project is currently in development phase containing following modules,
- A library module which is responsible for downloading remote resource and cache them in lruCache
- An app module which is a sample gallery app which uses the above library module
- Learn kotlin from, Udacity course ud9011
- Learn Jetpack specially android architecture in kotlin from, Udacity course ud9012
- Make a library module using kotlin syntax with utilizing lruCache, retrofit, rxjava and manual dependency injection
- The lib has an abstract repository i.e.
PinDownloader
which has a function called download which returns a generic observable. A generic version ofCacheDataSource
andRemoteDataSource
is injected manually. - An implementation of
PinDownloader
i.e.BitmapPinDownloader
which downloads bitmap. -
Change the Observable return type to Flowable so that it supports back pressure. - Replace RxJava concurrency with
Coroutine
- Add json implementation of
PinDownloader
as well as pojo converter with gson - Replace manual dependency injection to Dagger2
- Add unit testing for the library to test different test scenarios
- Publish the library to Jitpack.io
- Make a sample app using MVVM architecture.
- The
ViewModels
will subscribe to theLiveData
returned by the injected repositories and return an immutable version ofLiveData
- Make
AndroidDatabinding
directly observe theLiveData
s returned by the viewmodels - Integrate Pagination by Paging library
- Integrate Navigation Component
- Add LocalUnitTests, IntegrationTests and UITests