Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nomisRev/ktor-arrow-example
Real World implementation - "The mother of all demo apps". Written in Kotlin, with Ktor, Arrow, SqlDelight, KotlinX Serialization, etc.
https://github.com/nomisRev/ktor-arrow-example
arrow-kt hacktoberfest kotest kotlin kotlinx-coroutines kotlinx-serialization ktor ktor-server postgresql sqldelight
Last synced: 29 days ago
JSON representation
Real World implementation - "The mother of all demo apps". Written in Kotlin, with Ktor, Arrow, SqlDelight, KotlinX Serialization, etc.
- Host: GitHub
- URL: https://github.com/nomisRev/ktor-arrow-example
- Owner: nomisRev
- License: apache-2.0
- Created: 2021-12-29T18:14:17.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-29T21:03:48.000Z (about 1 month ago)
- Last Synced: 2024-10-29T23:36:40.169Z (about 1 month ago)
- Topics: arrow-kt, hacktoberfest, kotest, kotlin, kotlinx-coroutines, kotlinx-serialization, ktor, ktor-server, postgresql, sqldelight
- Language: Kotlin
- Homepage:
- Size: 731 KB
- Stars: 272
- Watchers: 10
- Forks: 34
- Open Issues: 24
-
Metadata Files:
- Readme: README.MD
- Contributing: CONTRIBUTING.MD
- License: LICENSE.MD
Awesome Lists containing this project
- awesome-ktor - Ktor Arrow Real World Example - "The mother of all demo apps". Written in Kotlin, with Ktor, Arrow, SqlDelight, KotlinX Serialization, etc. (Educational Projects / Episodes)
- awesome-ktor - Ktor Arrow Real World Example - "The mother of all demo apps". Written in Kotlin, with Ktor, Arrow, SqlDelight, KotlinX Serialization, etc. (Educational Projects / Episodes)
README
# Ktor Arrow Real World Example
> While most "todo" demos provide an excellent cursory glance at a framework's capabilities, they typically don't convey
> the knowledge & perspective required to actually build real applications with it.*Read
the [full blog post announcing RealWorld on Medium.](https://medium.com/@ericsimons/introducing-realworld-6016654d36b5)*Over 100 implementations have been created using various languages, libraries, and frameworks.
Explore them on [**CodebaseShow**](https://codebase.show/projects/realworld).
In order for Real World back-end and front-end examples to be able to work together we need to follow a
predefined [openapi.yml](https://github.com/gothinkster/realworld/blob/main/api/openapi.yml).## Looking to contribute?
If you're looking to contribute check-out [CONTRIBUTING.MD](CONTRIBUTING.MD).
Also, this project participates in hacktoberfest!I will provide personal guidance, and support to everyone that is interested in learning about Ktor, Arrow and Kotlin by
contributing to this repository!## How it works
This example uses [Kotlin](https://kotlinlang.org/docs/home.html) with [Ktor](https://ktor.io/)
and [Arrow](https://arrow-kt.io/) as the main building blocks.
Other technologies used:- [SqlDelight](https://cashapp.github.io/sqldelight/) for the persistence layer
- [Kotest](https://kotest.io/) for testing## Running the project
To run the project, you first need to start the environment.
This can be done with `docker-compose up`,
and then you can start the Ktor server with `./gradlew run`.```shell
docker-compose up
./gradlew run
curl -i 0.0.0.0:8080/readiness
```Beware that `./gradlew run` doesn't properly run JVM Shutdown hooks, and the port remains bound.