Just a Simple CRUD for players
it uses the following frameworks,tools and libraries:
- Kotlin - Programming language
- Ktor - Reactive web framework
- Koin - Kotlin dependency injection library.
- Arrow - Functional programming and Domain modeling library
- Kotest - Test library.
- TestContainers - test library.
- Mockk - test library.
- Gradle - Build Tool
- KtorSwaggerUI - Rest API Documentation library.
it requires Java version 21, Docker and Docker Compose to run.
You can run the following script to build the application:
cd build-script
./build-app.shIt will build, test and generate jar and docker image for the application
you can run the following script to launch the generated jar. You can specify the database url endpoint (DB_ENDPOINT) and the app port (PORT) variables in the app-jar-launch.sh file. If not specified the database url endpoint would be 'http://localhost:8000' and the port 8080
cd launch-script
./app-jar-launch.shyou can run the following script to containers. You can specify the database url endpoint (DB_ENDPOINT) and the app port (PORT) variables in docker-compose.yml file. If not specified the database url endpoint would be 'http://localhost:8000' and the port 8081
cd launch-script
./container-launch.shyou can stop containers by running the following command
cd launch-script
./container-stop.shthe variables AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY and AWS_SESSION_TOKEN can also be specified in the launch script or in the docker compose file if necessary
When the application is running, the api documentation will be available under /swagger-ui/index.html