Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dragneelfps/realworld-kotlin-ktor

RealWorld Kotlin Ktor Backend
https://github.com/dragneelfps/realworld-kotlin-ktor

Last synced: 29 days ago
JSON representation

RealWorld Kotlin Ktor Backend

Awesome Lists containing this project

README

        

# ![RealWorld Example App](logo.png)

> ### [Kotlin-Ktor](https://github.com/kotlin/ktor) codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the [RealWorld](https://github.com/gothinkster/realworld) spec and API.

### [Demo](https://github.com/gothinkster/realworld)    [RealWorld](https://github.com/gothinkster/realworld)

This codebase was created to demonstrate a fully fledged fullstack application built with **[Kotlin-Ktor](https://github.com/kotlin/ktor)** including CRUD operations, authentication, routing, pagination, and more.

We've gone to great lengths to adhere to the **[Kotlin-Ktor](https://github.com/kotlin/ktor)** community styleguides & best practices.

For more information on how to this works with other frontends/backends, head over to the [RealWorld](https://github.com/gothinkster/realworld) repo.

# Build Status
![Build](https://github.com/dragneelfps/realworld-kotlin-ktor/workflows/Build/badge.svg?branch=master)

# How it works

- [h2](https://h2database.com/html/main.html) database
- [hikari](https://github.com/brettwooldridge/HikariCP) as JDBC connection pool
- [Exposed](https://github.com/JetBrains/Exposed/) as Kotlin SQL Framework
- [Jackson](https://github.com/FasterXML/jackson) for handling JSON
- [Koin](https://insert-koin.io/) for dependency injection

# Getting started

> Installation

1. Install h2 database. Default configuration uses server mode.
2. Run the gradle. :)

> Running

1. Start the h2 database
2. Run the gradle. :))
3. Check on [http://localhost:8080/api](http:localhost:8080/api), if using default configuration.
4. Yay.

> Testing
1. ./gradlew build test