Skip to content

A realworld api example app featuring Arrow, Kotlin and Spring Boot.

Notifications You must be signed in to change notification settings

hansffu/realworld-api

This branch is 50 commits behind istonikula/realworld-api:master.

Folders and files

NameName
Last commit message
Last commit date
Jul 8, 2019
Jul 8, 2019
Jun 9, 2018
Jul 8, 2019
Apr 27, 2019
Jul 8, 2019
Apr 27, 2019
Jun 20, 2018
Jun 9, 2018
Apr 13, 2019
Oct 28, 2018
Jul 8, 2019
Jul 8, 2019
Dec 1, 2018
Apr 13, 2019
Apr 13, 2019
Dec 1, 2018

Repository files navigation

CircleCI

This is a realworld api example app featuring Arrow, Kotlin and Spring Boot.

NOTE: not yet feature complete, see TODOs.

Goals

  • experiment functional Kotlin backend programming using Arrow
  • implement realworld api spec in order to cover non-trivial use cases
  • production grade rest api with strong integration test suite to enable easy refactoring
  • clear separation of core business logic (realworld-domain) from the supporting infrastructure (realworld-app, realworld-infra)
    • framework independent domain
    • adopted ideas from onion, hexagonal and clean architectures (they might be all the same)
    • NOTE: realworld-app could be a submodule of realword-infra, but I wanted to put emphasis on the deliverables by using a separate top level module

Prior art

How to build

Prerequisites

Install Docker and Docker Compose:

Init DB

docker-compose up -d
./gradlew flywayMigrate

Build

./gradlew build

About

A realworld api example app featuring Arrow, Kotlin and Spring Boot.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 99.9%
  • Shell 0.1%