LMS-APIs
This project was created using the Ktor Project Generator.
Features
Here's a list of features included in this project:
| Name | Description |
|---|---|
| Default Headers | Adds a default set of headers to HTTP responses |
| Routing | Provides a structured routing DSL |
| Swagger | Serves Swagger UI for your project |
| Authentication | Provides extension point for handling the Authorization header |
| Authentication JWT | Handles JSON Web Token (JWT) bearer authentication scheme |
| Content Negotiation | Provides automatic content conversion according to Content-Type and Accept headers |
| kotlinx.serialization | Handles JSON serialization using kotlinx.serialization library |
| Postgres | Adds Postgres database to your application |
Required Files
src/main/resources/application.yaml
Required fields:
ktor:
application:
modules:
-codes.kalar.ApplicationKt.module
deployment:
host: (defaults to 0.0.0.0 if not added)
port: 8080
postgres:
url: "jdbc:postgresql://"
user:
password:
Building & Running
To build or run the project, use one of the following tasks:
| Task | Description |
|---|---|
./gradlew test |
Run the tests |
./gradlew build |
Build everything |
buildFatJar |
Build an executable JAR of the server with all dependencies included |
buildImage |
Build the docker image to use with the fat JAR |
publishImageToLocalRegistry |
Publish the docker image locally |
run |
Run the server |
runDocker |
Run using the local docker image |
If the server starts successfully, you'll see the following output:
2024-12-04 14:32:45.584 [main] INFO Application - Application started in 0.303 seconds.
2024-12-04 14:32:45.682 [main] INFO Application - Responding at http://0.0.0.0:8080
From here, navigate to http://0.0.0.0:8080/swagger for API documentation.
NOTE: the address may change if you have updated the application.yaml file with a new host address.
Languages
Kotlin
100%