yerko76 / money-transfer-api

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Money Transfer API

This repository hosts a money transfer api.

Money Transfer Api documentation

You can find api documentation in doc/index.html and open-api definition in doc/money-transfer.yaml

TechStack

  1. Kotlin 1.3.41 (https://kotlinlang.org/docs/reference/)

  2. Routes and server with Ktor (https://ktor.io)

  3. Sql operations with Exposed (https://github.com/JetBrains/Exposed)

  4. Database with PosgresSql(https://www.postgresql.org/)

  5. Dependency Injection with KodeIn (https://kodein.org/di)

  6. Testing with Junit5 (https://junit.org/junit5/docs/current/user-guide/)

  7. Mock lib with Mockk (https://github.com/mockk/mockk)

General Usage Instructions

Ensure that GNU Make is installed.

  1. Start All Services

    $ make start-all
  2. Stop All Services

    $ make stop-all

Testing

  1. Unit Test

    $ make unit-test
  2. In order to run integration test is necessary to export db-container host and stubby container host

    $ make export-containers-host
  3. Integration Test:

    1. Generate Artifact

      $ make build
    2. Start all-services

      $ make start-all
    3. Run Integration test

      $ make integration-test

About


Languages

Language:Kotlin 96.7%Language:TSQL 2.1%Language:Dockerfile 0.8%Language:Makefile 0.4%