All Projects → arun0009 → kotlin-ktor-exposed-sample-api

arun0009 / kotlin-ktor-exposed-sample-api

Licence: other
Kotlin Ktor Exposed SQL Immutable DB Rest API

Programming Languages

kotlin
9241 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to kotlin-ktor-exposed-sample-api

Redux Immutable
redux-immutable is used to create an equivalent function of Redux combineReducers that works with Immutable.js state.
Stars: ✭ 1,878 (+4168.18%)
Mutual labels:  immutable
Voik
♒︎ [WIP] An experimental ~distributed~ commit-log
Stars: ✭ 200 (+354.55%)
Mutual labels:  immutable
Hamt
Immutable and Memory-Efficient Maps and Sets in Go
Stars: ✭ 213 (+384.09%)
Mutual labels:  immutable
Immutableassign
Lightweight immutable helper that allows you to continue working with POJO (Plain Old JavaScript Object)
Stars: ✭ 161 (+265.91%)
Mutual labels:  immutable
Python Lenses
A python lens library for manipulating deeply nested immutable structures
Stars: ✭ 179 (+306.82%)
Mutual labels:  immutable
Vue Tetris
Use Vue, Vuex to code Tetris.使用 Vue, Vuex 做俄罗斯方块
Stars: ✭ 2,446 (+5459.09%)
Mutual labels:  immutable
React Copy Write
✍️ Immutable state with a mutable API
Stars: ✭ 1,810 (+4013.64%)
Mutual labels:  immutable
Unchanged
A tiny, fast, unopinionated handler for updating JS objects and arrays immutably
Stars: ✭ 237 (+438.64%)
Mutual labels:  immutable
Ipmjs
Immutable Package Manager
Stars: ✭ 191 (+334.09%)
Mutual labels:  immutable
Music163 React
🔥基于React全家桶开发:「网易云音乐PC端项目」实战
Stars: ✭ 209 (+375%)
Mutual labels:  immutable
Extcore
An extended core library for F#.
Stars: ✭ 172 (+290.91%)
Mutual labels:  immutable
Pond
Immutable timeseries data structures built with Typescript
Stars: ✭ 180 (+309.09%)
Mutual labels:  immutable
Redux Freeze
Redux middleware that prevents state from being mutated anywhere in the app
Stars: ✭ 208 (+372.73%)
Mutual labels:  immutable
100 Lines Of Code Challenge Js
Write Everything in JavaScript under 100 Lines!!!😈
Stars: ✭ 157 (+256.82%)
Mutual labels:  immutable
Static Frame
Immutable and grow-only Pandas-like DataFrames with a more explicit and consistent interface.
Stars: ✭ 217 (+393.18%)
Mutual labels:  immutable
Immudb
immudb - world’s fastest immutable database, built on a zero trust model
Stars: ✭ 3,743 (+8406.82%)
Mutual labels:  immutable
React Native Immutable List View
📜 Drop-in replacement for ListView, FlatList, and VirtualizedList.
Stars: ✭ 206 (+368.18%)
Mutual labels:  immutable
Model
Angular Model - Simple state management with minimalist API, one way data flow, multiple model support and immutable data exposed as RxJS Observable.
Stars: ✭ 242 (+450%)
Mutual labels:  immutable
Collectable
High-performance immutable data structures for modern JavaScript and TypeScript applications. Functional interfaces, deep/composite operations API, mixed mutability API, TypeScript definitions, ES2015 module exports.
Stars: ✭ 233 (+429.55%)
Mutual labels:  immutable
Digag Pc React
digag pc website based on react.
Stars: ✭ 209 (+375%)
Mutual labels:  immutable

Kotlin Ktor Exposed Sample API

Build Status

Sample Employee API is written in Kotlin and uses Ktor async framework and uses Exposed Kotlin SQL Framework

Sample Employee API allows basic CRUD operations (immutable database) via REST API and JSON as data exchange format.

Sample Employee Api by default uses H2 database but can be changed to Postgres by passing DB_TYPE=postgres environment variable. The connection settings can also be passed via environment variables (please check application.conf to see what variables can be overridden).

Database tables are migrated at deployment via Flyway and scripts can be added in db/migrations folder to add new tables or execute queries like inserting data etc on server startup.

EmployeeApiTest runs end to end test to make sure all api endpoints perform as expected.

Logs are written to console and can be redirected using tee process. Logging with MDC (UUID) for tracing purpose and returning MDC UUID in case of error in API response.

Running the application via docker

docker-compose up

Metrics

The Metrics feature allows you to configure the Metrics to get useful information about the server and the requests.

Run jconsole on command line and choose EmployeeApiServerKt.

Click on metrics folder to get server performance.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].