Example projects
Here are some projects which use Arrow and follow the design guidelines. The purpose is showcasing these techiques in bigger applications; docs require small examples for comprehension, but sometimes they don't give the full picture that one of these complete applications can.
Real World
Real World is a blogging platform that has been purposedly created to highlights the possibilities of each language and ecosystem. The linked implementation uses:
- Ktor as HTTP framework.
- SQLDelight for database access.
- Kotest for property-based testing.
Functional Quiz
Service to create an answer quizzes, written in a functional style. Apart from Arrow, this project uses:
MasterMind
Implementation of the game using functional event sourcing. The accompanying blog post is part of a series that covers both domain modelling and event sourcing.
Weather App
Small weather forecast application built with Compose Multiplatform Desktop.
- Ktor Client to perform HTTP requests.
- Kotest for property-based testing.
- Turbine to test ViewModels.
GitHub Alerts
This application manages subscriptions to GitHub repository events, and turns them into Slack messages. It is architected as a series of microservices which communicate using Apache Kafka message queues, by means of kotlin-kafka and Avro4k.
The same project is available using two different sets of technologies.
- The Ktor version uses Ktor as HTTP framework.
- Cohort for health checks,
- Tegral for generating OpenAPI specs.
- SQLDelight for database access.
- The Spring version uses the Spring modules for Kotlin.