Collection of tools for coding in Kotlin
Go to file
2024-08-11 12:41:30 +06:00
.github/workflows Revert "Update build.yml" 2024-08-07 16:50:13 +06:00
android trying to update to new compose 2024-08-07 16:46:49 +06:00
colors Color as a module 2024-07-15 08:13:23 +06:00
common update android version 2024-08-09 23:06:50 +06:00
coroutines fix of tests 2024-08-07 16:50:13 +06:00
crypto add support of linuxArm64 target 2023-10-20 21:53:27 +06:00
dokka fixes in build 2023-09-06 19:15:09 +06:00
fsm add .kotlin in gitignore 2024-06-16 22:27:07 +06:00
gradle Update libs.versions.toml 2024-08-11 12:41:30 +06:00
koin add additional targets with natives support 2024-07-16 17:18:26 +06:00
ksp fixes in ksp sealed generator 2024-07-26 17:17:11 +06:00
ktor Revert "migrations onto new libraries" 2024-08-07 16:46:49 +06:00
language_codes some fixes 2024-08-07 16:46:49 +06:00
matrix small matrix improvements 2023-11-29 20:33:06 +06:00
mime_types add support of linuxArm64 target 2023-10-20 21:53:27 +06:00
pagination more fixes to god of fixes in paginations 2024-05-26 23:51:46 +06:00
repos improve tests of repos 2024-08-09 21:58:09 +06:00
resources almost updated dependencies and modules hierarchy 2024-05-12 19:17:16 +06:00
safe_wrapper Revert "fix of build" 2024-06-19 19:50:19 +06:00
selector/common add support of linuxArm64 target 2023-10-20 21:53:27 +06:00
serialization make it possible to use encoder inside of serialize callback 2024-01-04 10:24:39 +06:00
startup downgrade kotlin and fix build 2024-08-07 16:46:49 +06:00
_config.yml Set theme jekyll-theme-cayman 2020-12-05 18:57:46 +06:00
.gitignore add tests for cruds 2024-08-09 19:22:32 +06:00
build_and_publish.sh update publishing scripts 2020-11-10 20:53:08 +06:00
build.gradle temporal project in upgrade 2024-08-07 16:46:49 +06:00
changelog_parser.sh Update and rename changelog_info_retriever to changelog_parser.sh 2020-10-16 21:37:24 +06:00
CHANGELOG.md change version 2024-08-07 16:50:11 +06:00
defaultAndroidSettings.gradle trying to update to new compose 2024-08-07 16:46:49 +06:00
extensions.gradle add support of native platforms in common compose and coroutines compose 2024-07-16 14:16:08 +06:00
github_release.gradle update github release 2024-01-16 12:38:53 +06:00
gradle.properties change version 2024-08-07 16:50:11 +06:00
gradlew init with pagination 2020-09-15 18:57:41 +06:00
gradlew.bat init with pagination 2020-09-15 18:57:41 +06:00
jvm.publish.gradle update gradle publishing scripts 2023-12-09 20:38:44 +06:00
jvm.publish.kpsb update gradle publishing scripts 2023-12-09 20:38:44 +06:00
LICENSE Initial commit 2020-09-15 17:57:00 +06:00
local.migrate.folder.sh done migration 2023-08-08 18:45:36 +06:00
mppAndroidProject.gradle update and fix build 2023-11-02 19:00:35 +06:00
mppComposeJvmJsAndroidLinuxMingwLinuxArm64Project.gradle fix of tests 2024-08-07 16:50:13 +06:00
mppJavaProject.gradle update and fix build 2023-11-02 19:00:35 +06:00
mppJvmJsAndroidLinuxMingwLinuxArm64Project.gradle fix of tests 2024-08-07 16:50:13 +06:00
mppJvmJsAndroidProject.gradle fix of tests 2024-08-07 16:50:13 +06:00
mppJvmJsLinuxMingwLinuxArm64Project.gradle fix of tests 2024-08-07 16:50:13 +06:00
mppJvmJsLinuxMingwProject.gradle fix of tests 2024-08-07 16:50:13 +06:00
mppProjectWithSerializationAndCompose.gradle fix of tests 2024-08-07 16:50:13 +06:00
publish.gradle update gradle publishing scripts 2023-12-09 20:38:44 +06:00
publish.kpsb update gradle publishing scripts 2023-12-09 20:38:44 +06:00
README.md update readme 2021-01-14 20:55:32 +06:00
renovate.json Add renovate.json 2023-04-18 08:23:10 +00:00
settings.gradle add tests for cruds 2024-08-09 19:22:32 +06:00
versions_plugin_setup.gradle add versions plugin 2023-06-27 16:46:45 +06:00

MicroUtils

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.

Projects

  • common contains common tools for platform which usually are absent out-of-the-box when you starting project
  • selector contains tools to use Selector interface with things like RecyclerView in android or other selection needs
  • coroutines is a module for Kotlin Coroutines with different things like subscribing on flows (onEach + launchIn shortcut :) )
  • ktor is a set of modules for clients and servers
  • mime_types is NOT lightweight set of MimeTypes with a lot of different objected and serializable (with Kotlin 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 for kotlinx.serialization
  • repos is a complex of modules (explanation in Complex modules structure section) for KeyValue/OneToMany/CRUD repos created to be able to exclude some heavy dependencies when you need some simple and lightweight typical repositories

Complex modules structure

Most of complex modules are built with next hierarchy:

  • common submodule for API 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 using UnifiedRequester to make requests using routes from ktor/common module and some internal logic of requests
    • server submodule (in most cases JVM-only) contains some extensions for Route instances which usually will give opportunity to proxy internet requests from ktor/client realization to some proxy object