Architecture With Kotlin-Ktor and SvelteJS

Features

  • PlaceHolder – Why Ktor
  • Placeholder – Why SvelteJS
  • AI/ ML
  • REST API

Stack

  • Front end
  • Back end
    • ktor non I/O blocking microservice framework
    • app/src/main/kotlin/archstyle
  • Ops
    • scripts in bin
    • single Dockerfile for the web tier
    • compose setup for web and postgres db

Deploying

# setup app/web/.env
./bin/set-environment.sh
./bin/docker-build.sh
docker-compose up
# first signup will be an admin

app available on port 8080

Running locally

Configuration

Environment variables

ARCHSTYLE_PORT = 8080
ARCHSTYLE_ENVIRONMENT = testing

API

# boot up a local db
./dev-db-run.sh
./gradlew run

health endpoint

web bundle is also being served on this port at the webroot

api spec ¯\_(ツ)_/¯

Web

create app/web/.env

API_ENDPOINT=http://localhost:8080

then run

# from ./app/web
npm install
npm run dev

available on port 5000

Tests

./gradlew test

Contributors

Bidit Pakrashi

GitHub

View Github