mirror of
https://github.com/InsanusMokrassar/docs.git
synced 2025-11-15 11:30:12 +00:00
200 lines
9.3 KiB
Markdown
200 lines
9.3 KiB
Markdown
# MicroUtils
|
|
|
|
`MicroUtils` is a set of libraries to help me (and, I hope, you too) in some routine doings of coding.
|
|
|
|
First of all, this library collection is oriented to use next technologies:
|
|
|
|
* [`Kotlin Coroutines`](https://github.com/Kotlin/kotlinx.coroutines)
|
|
* [`Kotlin Serialization`](https://github.com/Kotlin/kotlinx.serialization)
|
|
* [`Kotlin Exposed`](https://github.com/JetBrains/Exposed)
|
|
* [`Ktor`](https://ktor.io)
|
|
* [`Koin`](https://insert-koin.io)
|
|
* [`Korlibs`](https://docs.korge.org)
|
|
|
|
> WARNING:
|
|
>
|
|
> Due to complexity of this library, it is possible that some things will be missed or inactual.
|
|
> Me and the users of this library will try hard to keep its docs as actual as possible, but in case
|
|
> you will find some inconsistency of docs and library work (signatures, behaviour, API) you may write
|
|
> me directly in my [telegram](https://t.me/InsanusMokrassar)
|
|
|
|
```mermaid
|
|
flowchart LR
|
|
%% Project Build & Infrastructure
|
|
subgraph "Project Build & Infrastructure"
|
|
gradleWrapper("Gradle Wrapper & Plugins"):::buildInfra
|
|
CI("CI Workflows"):::buildInfra
|
|
templates("Gradle Templates"):::buildInfra
|
|
end
|
|
|
|
%% Core Utility Layer
|
|
subgraph "Core Utility Layer"
|
|
common("common"):::core
|
|
colors("colors"):::core
|
|
safe_wrapper("safe_wrapper"):::core
|
|
resources("resources"):::core
|
|
end
|
|
|
|
%% Feature-Specific Modules
|
|
subgraph "Feature-Specific Modules"
|
|
crypto("crypto"):::feature
|
|
mime_types("mime_types"):::feature
|
|
language_codes("language_codes"):::feature
|
|
matrix("matrix"):::feature
|
|
selector("selector"):::feature
|
|
transactions("transactions"):::feature
|
|
end
|
|
|
|
%% Asynchronous Helpers
|
|
subgraph "Asynchronous Helpers"
|
|
coroutines("coroutines"):::async
|
|
compose("coroutines/compose"):::async
|
|
end
|
|
|
|
%% Serialization Helpers
|
|
subgraph "Serialization Helpers"
|
|
base64("serialization/base64"):::serialization
|
|
encapsulator("serialization/encapsulator"):::serialization
|
|
mapper("serialization/mapper"):::serialization
|
|
typed_serializer("serialization/typed_serializer"):::serialization
|
|
end
|
|
|
|
%% Repository Abstractions
|
|
subgraph "Repository Abstractions"
|
|
repos_common("repos/common (API)"):::repos
|
|
repos_inmemory("repos/inmemory"):::repos
|
|
repos_cache("repos/cache"):::repos
|
|
repos_exposed("repos/exposed"):::repos
|
|
repos_ktor_client("repos/ktor/client"):::repos
|
|
repos_ktor_common("repos/ktor/common"):::repos
|
|
repos_ktor_server("repos/ktor/server"):::repos
|
|
end
|
|
|
|
%% Ktor Extensions
|
|
subgraph "Ktor Extensions"
|
|
ktor_common("ktor/common"):::ktor
|
|
ktor_client("ktor/client"):::ktor
|
|
ktor_server("ktor/server"):::ktor
|
|
end
|
|
|
|
%% Dependency Injection (Koin)
|
|
subgraph "Dependency Injection (Koin)"
|
|
koin_api("koin/src"):::di
|
|
koin_generator("koin/generator"):::di
|
|
end
|
|
|
|
%% KSP Code-Generation Modules
|
|
subgraph "KSP Code-Generation Modules"
|
|
ksp_classcasts("ksp/classcasts"):::ksp
|
|
ksp_sealed("ksp/sealed"):::ksp
|
|
ksp_variations("ksp/variations"):::ksp
|
|
ksp_generator("ksp/generator"):::ksp
|
|
end
|
|
|
|
%% Android UI Wrappers
|
|
subgraph "Android UI Wrappers"
|
|
alerts("android/alerts"):::android
|
|
pickers("android/pickers"):::android
|
|
recyclerview("android/recyclerview"):::android
|
|
smalltextfield("android/smalltextfield"):::android
|
|
end
|
|
|
|
%% Startup Plugins & Templates
|
|
subgraph "Startup Plugins & Templates"
|
|
startup_plugin("startup/plugin"):::startup
|
|
startup_launcher("startup/launcher"):::startup
|
|
startup_template("startup/template"):::startup
|
|
end
|
|
|
|
%% Dependencies Arrows
|
|
common -->|feeds into| crypto
|
|
common -->|feeds into| mime_types
|
|
common -->|feeds into| language_codes
|
|
common -->|feeds into| matrix
|
|
common -->|feeds into| selector
|
|
common -->|feeds into| transactions
|
|
|
|
common -->|feeds into| coroutines
|
|
coroutines -->|extends| compose
|
|
|
|
common -->|feeds into| base64
|
|
common -->|feeds into| encapsulator
|
|
common -->|feeds into| mapper
|
|
common -->|feeds into| typed_serializer
|
|
|
|
common -->|feeds into| repos_common
|
|
repos_common -->|implemented by| repos_inmemory
|
|
repos_common -->|implemented by| repos_cache
|
|
repos_common -->|implemented by| repos_exposed
|
|
repos_common -->|implemented by| repos_ktor_client
|
|
repos_common -->|implemented by| repos_ktor_common
|
|
repos_common -->|implemented by| repos_ktor_server
|
|
|
|
ktor_common -->|used by| ktor_client
|
|
ktor_common -->|used by| ktor_server
|
|
|
|
ksp_generator -->|used by| koin_generator
|
|
ksp_generator -->|used by| ksp_classcasts
|
|
ksp_generator -->|used by| ksp_sealed
|
|
ksp_generator -->|used by| ksp_variations
|
|
|
|
common -->|feeds into| alerts
|
|
common -->|feeds into| pickers
|
|
common -->|feeds into| recyclerview
|
|
common -->|feeds into| smalltextfield
|
|
|
|
%% Click Events
|
|
click templates "https://github.com/insanusmokrassar/microutils/tree/master/gradle/templates/"
|
|
click common "https://github.com/insanusmokrassar/microutils/tree/master/common/"
|
|
click colors "https://github.com/insanusmokrassar/microutils/tree/master/colors/"
|
|
click safe_wrapper "https://github.com/insanusmokrassar/microutils/tree/master/safe_wrapper/"
|
|
click resources "https://github.com/insanusmokrassar/microutils/tree/master/resources/"
|
|
click crypto "https://github.com/insanusmokrassar/microutils/tree/master/crypto/"
|
|
click mime_types "https://github.com/insanusmokrassar/microutils/tree/master/mime_types/"
|
|
click language_codes "https://github.com/insanusmokrassar/microutils/tree/master/language_codes/"
|
|
click matrix "https://github.com/insanusmokrassar/microutils/tree/master/matrix/"
|
|
click selector "https://github.com/insanusmokrassar/microutils/tree/master/selector/"
|
|
click transactions "https://github.com/insanusmokrassar/microutils/tree/master/transactions/"
|
|
click coroutines "https://github.com/insanusmokrassar/microutils/tree/master/coroutines/"
|
|
click compose "https://github.com/insanusmokrassar/microutils/tree/master/coroutines/compose/"
|
|
click base64 "https://github.com/insanusmokrassar/microutils/tree/master/serialization/base64/"
|
|
click encapsulator "https://github.com/insanusmokrassar/microutils/tree/master/serialization/encapsulator/"
|
|
click mapper "https://github.com/insanusmokrassar/microutils/tree/master/serialization/mapper/"
|
|
click typed_serializer "https://github.com/insanusmokrassar/microutils/tree/master/serialization/typed_serializer/"
|
|
click repos_common "https://github.com/insanusmokrassar/microutils/tree/master/repos/common/"
|
|
click repos_inmemory "https://github.com/insanusmokrassar/microutils/tree/master/repos/inmemory/"
|
|
click repos_cache "https://github.com/insanusmokrassar/microutils/tree/master/repos/cache/"
|
|
click repos_exposed "https://github.com/insanusmokrassar/microutils/tree/master/repos/exposed/"
|
|
click repos_ktor_client "https://github.com/insanusmokrassar/microutils/tree/master/repos/ktor/client/"
|
|
click repos_ktor_common "https://github.com/insanusmokrassar/microutils/tree/master/repos/ktor/common/"
|
|
click repos_ktor_server "https://github.com/insanusmokrassar/microutils/tree/master/repos/ktor/server/"
|
|
click koin_api "https://github.com/insanusmokrassar/microutils/tree/master/koin/src/"
|
|
click koin_generator "https://github.com/insanusmokrassar/microutils/tree/master/koin/generator/"
|
|
click ksp_classcasts "https://github.com/insanusmokrassar/microutils/tree/master/ksp/classcasts/"
|
|
click ksp_sealed "https://github.com/insanusmokrassar/microutils/tree/master/ksp/sealed/"
|
|
click ksp_variations "https://github.com/insanusmokrassar/microutils/tree/master/ksp/variations/"
|
|
click ksp_generator "https://github.com/insanusmokrassar/microutils/tree/master/ksp/generator/"
|
|
click alerts "https://github.com/insanusmokrassar/microutils/tree/master/android/alerts/"
|
|
click pickers "https://github.com/insanusmokrassar/microutils/tree/master/android/pickers/"
|
|
click recyclerview "https://github.com/insanusmokrassar/microutils/tree/master/android/recyclerview/"
|
|
click smalltextfield "https://github.com/insanusmokrassar/microutils/tree/master/android/smalltextfield/"
|
|
click startup_plugin "https://github.com/insanusmokrassar/microutils/tree/master/startup/plugin/"
|
|
click startup_launcher "https://github.com/insanusmokrassar/microutils/tree/master/startup/launcher/"
|
|
click startup_template "https://github.com/insanusmokrassar/microutils/tree/master/startup/template/"
|
|
|
|
%% Styles
|
|
%% classDef buildInfra fill:#eee,stroke:#666,stroke-width:1px;
|
|
%% classDef core fill:#cce5ff,stroke:#004085,stroke-width:1px;
|
|
%% classDef feature fill:#e2e3e5,stroke:#636f83,stroke-width:1px;
|
|
%% classDef async fill:#d1ecf1,stroke:#0c5460,stroke-width:1px;
|
|
%% classDef serialization fill:#fff3cd,stroke:#856404,stroke-width:1px;
|
|
%% classDef repos fill:#d4edda,stroke:#155724,stroke-width:1px;
|
|
%% classDef ktor fill:#ffe5b4,stroke:#ff8c00,stroke-width:1px;
|
|
%% classDef di fill:#f5c6cb,stroke:#721c24,stroke-width:1px;
|
|
%% classDef ksp fill:#f8d7da,stroke:#721c24,stroke-width:1px;
|
|
%% classDef android fill:#e2e7ec,stroke:#1f2a36,stroke-width:1px;
|
|
%% classDef startup fill:#f0f3bd,stroke:#a2a04f,stroke-width:1px;
|
|
```
|
|
|
|
Generated with [gitdiagram](https://gitdiagram.com/insanusmokrassar/microutils) and edited then
|