6ab9a59597fde8026fa583af5ae5e72629073bd3
core
This project was created using the Ktor Project Generator.
Here are some useful links to get you started:
Features
Here's a list of features included in this project:
| Name | Description |
|---|---|
| Status Pages | Provides exception handling for routes |
| kotlinx.serialization | Handles JSON serialization using kotlinx.serialization library |
| Content Negotiation | Provides automatic content conversion according to Content-Type and Accept headers |
| Authentication | Provides extension point for handling the Authorization header |
| Static Content | Serves static files from defined locations |
| Caching Headers | Provides options for responding with standard cache-control headers |
| HTMX | Includes HTMX for front-end scripting |
| HTML DSL | Generates HTML from Kotlin DSL |
| PostgreSQL | Adds Postgres database support |
| Exposed | Adds Exposed database to your application |
| Dependency Injection | Enables dependency injection for your server |
| CSRF | Cross-site request forgery mitigation |
| Authentication OAuth | Handles OAuth Bearer authentication scheme |
| Authentication JWT | Handles JSON Web Token (JWT) bearer authentication scheme |
| Forwarded Headers | Allows handling proxied headers (X-Forwarded-*) |
| Default Headers | Adds a default set of headers to HTTP responses |
| CORS | Enables Cross-Origin Resource Sharing (CORS) |
| Compression | Compresses responses using encoding algorithms like GZIP |
Structure
This project includes the following modules:
| Path | Description |
|---|---|
| null | |
| server | null |
| web | null |
Building & Running
To build or run the project, use one of the following tasks:
| Task | Description |
|---|---|
./gradlew :server:test |
Run the tests |
./gradlew :server:build |
Build the project |
./gradlew :server:run |
Run the server |
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
Languages
Kotlin
98%
CSS
1.2%
JavaScript
0.4%
Shell
0.3%