https://github.com/dzikoysk/ksb
Kotlin Scripting Bundle - my personal all-in-one set of tools for rapid prototyping & scripting
https://github.com/dzikoysk/ksb
kotlin script sdk
Last synced: 3 months ago
JSON representation
Kotlin Scripting Bundle - my personal all-in-one set of tools for rapid prototyping & scripting
- Host: GitHub
- URL: https://github.com/dzikoysk/ksb
- Owner: dzikoysk
- License: apache-2.0
- Created: 2024-10-09T18:24:28.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-09T20:18:28.000Z (about 1 year ago)
- Last Synced: 2025-03-19T15:15:26.932Z (7 months ago)
- Topics: kotlin, script, sdk
- Language: Kotlin
- Homepage:
- Size: 22.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# KSB [](https://maven.reposilite.com/#/snapshots/com/dzikoysk/ksb)
**ksb** _(Kotlin Scripting Bundle)_ - all-in-one set of tools for rapid prototyping & scripting. Use `ksb` object as an entry point to the whole API.
You don't need to remember nor import anything from the library, just discover all you need via the intellisense.```kotlin
repository {
maven("https://maven.reposilite.com/snapshots")
}dependencies {
implementation("com.dzikoysk:ksb:0.0.1-SNAPSHOT")
}
```## Docs
Bundled APIs:
* General: Jackson (for Kotlin), BCrypt, Logback
* HTTP: Client - Unirest, Server - Javalin
* Database: JDBI (PostgreSQL / SQLite / MySQL)
* AWS: SDKv1 & SDKv2### Serialization
* JSON
```kotlin
data class Monke(
val name: String
)val json: String = Monke("Młynarz").toJson() // available for any object
val deserializedObject: Monke = json.convertTo()
```* CSV _(todo)_
### HTTP
Serving the API:
```kotlin
val (server, address) = ksb.http.server.start {
get("/api/read") { it.result("Monke") }
post("/api/write") { println(it.body()) }
}
```Interacting with the API:
```kotlin
val (_, statusCode, headers) = ksb.http.head("https://github.com/dzikoysk/ksb")
val (body, statusCode, headers) = ksb.http.get("https://github.com/dzikoysk/ksb")
val (body, statusCode, headers) = ksb.http.delete("https://github.com/dzikoysk/ksb")val (body, statusCode, headers) = ksb.http.post("https://github.com/dzikoysk/ksb", Monke("Młynarz").toJson())
val (body, statusCode, headers) = ksb.http.update("https://github.com/dzikoysk/ksb", Monke("Młynarz").toJson())val (body, statusCode, headers) = ksb.http.patch(
url = "https://github.com/dzikoysk/ksb",
value = Monke("Młynarz").toJson(),
headers = mapOf("X-API-KEY" to "123")
)val monke = body.readText() / body.readAsObject()
```### SQL
* JDBI
### Cloud
* AWS S3 _(todo)_
* Google Drive _(todo)_### Data types
* `Quad`