This is a library with collection of tools for working in Kotlin environment. First of all, this library collection is oriented to use next technologies:
Android environment
You always can look at the properties file to get information about current project dependencies, compile and build tools for Android
target.
-
common
contains common tools for platform which usually are absent out-of-the-box when you starting project -
selector
contains tools to useSelector
interface with things likeRecyclerView
in android or other selection needs -
coroutines
is a module forKotlin Coroutines
with different things like subscribing on flows (onEach
+launchIn
shortcut :) ) -
ktor
is a set of modules forclient
s andserver
s -
mime_types
is NOT lightweight set ofMimeType
s with a lot of different objected and serializable (withKotlin Serialization
) mime types -
pagination
is a complex of modules (explanation in Complex modules structure section) for lightweight pagination -
serialization
is a collection of projects with serializers forkotlinx.serialization
-
repos
is a complex of modules (explanation in Complex modules structure section) forKeyValue
/OneToMany
/CRUD
repos created to be able to exclude some heavy dependencies when you need some simple and lightweight typical repositories
Most of complex modules are built with next hierarchy:
-
common
submodule forAPI
things which are common for all platforms -
exposed
submodule contains realizations for exposed tables -
ktor
submodule is usually unavailable directly, because it contains its own submodules for clients and servers-
common
part contains routes which are common for clients and servers -
client
submodule contains clients which are usually usingUnifiedRequester
to make requests using routes fromktor/common
module and some internal logic of requests -
server
submodule (in most casesJVM
-only) contains some extensions forRoute
instances which usually will give opportunity to proxy internet requests fromktor/client
realization to some proxy object
-