ilya40umov / kstatus

A demo project implementing status page functionality (Kotlin + AWS)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KStatus

This is a demo project that handles monitoring of the availability of web pages. The main goal of this project is to try the technologies mentioned below, while keeping in mind a future deployment to AWS.

Tech Stack

Dependencies

  • MySQL (AWS Aurora)
  • SQS

TODOs

  • Gradle multi-module project
  • Set-up Ktor
  • Set-up Kodein
  • Set up Micrometer & Prometheus
  • Configuration via YAML
  • docker-compose with dependencies
  • terraform for localstack resources
  • Makefile (with up, down, run, ci commands)
  • openapi.yaml with API endpoints
  • Implement endpoints from OpenAPI spec
  • Set up database migrations using FlyWay
  • Implement repository layer using jasync
  • Add error handling to the API
  • Implement an mvp for scheduler
  • Implement an mvp for worker
  • At least one test using kotest
  • At least one test using mockk
  • At least one test for db layer
  • At least one test for API (using mock server)
  • At least one test validating API responses against OpenAPI spec
  • At least one integration test for API
  • At least one integration test for the scheduler (writing to SQS)
  • At least one integration test for the worker (reading from SQS)

Encountered issues & rough edges

Useful links

Projects using similar tech

Coroutines

About

A demo project implementing status page functionality (Kotlin + AWS)

License:Apache License 2.0


Languages

Language:Kotlin 93.4%Language:HCL 3.2%Language:Shell 2.9%Language:Makefile 0.5%