62 lines
4.6 KiB
Markdown
62 lines
4.6 KiB
Markdown
# core
|
|
|
|
This project was created using the [Ktor Project Generator](https://start.ktor.io).
|
|
|
|
Here are some useful links to get you started:
|
|
|
|
* [Ktor Documentation](https://ktor.io/docs/home.html)
|
|
* [Ktor GitHub page](https://github.com/ktorio/ktor)
|
|
* [Ktor Slack chat](https://app.slack.com/client/T09229ZC6/C0A974TJ9). [Request an invite](https://surveys.jetbrains.com/s3/kotlin-slack-sign-up).
|
|
|
|
## Features
|
|
|
|
Here's a list of features included in this project:
|
|
|
|
| Name | Description |
|
|
|---------------------------------------------------------------------------------------|------------------------------------------------------------------------------------|
|
|
| [Status Pages](https://start.ktor.io/p/io.ktor/server-status-pages) | Provides exception handling for routes |
|
|
| [kotlinx.serialization](https://start.ktor.io/p/io.ktor/server-kotlinx-serialization) | Handles JSON serialization using kotlinx.serialization library |
|
|
| [Content Negotiation](https://start.ktor.io/p/io.ktor/server-content-negotiation) | Provides automatic content conversion according to Content-Type and Accept headers |
|
|
| [Authentication](https://start.ktor.io/p/io.ktor/server-auth) | Provides extension point for handling the Authorization header |
|
|
| [Static Content](https://start.ktor.io/p/io.ktor/server-static-content) | Serves static files from defined locations |
|
|
| [Caching Headers](https://start.ktor.io/p/io.ktor/server-caching-headers) | Provides options for responding with standard cache-control headers |
|
|
| [HTMX](https://start.ktor.io/p/io.ktor/server-htmx) | Includes HTMX for front-end scripting |
|
|
| [HTML DSL](https://start.ktor.io/p/org.jetbrains/server-html-dsl) | Generates HTML from Kotlin DSL |
|
|
| [PostgreSQL](https://start.ktor.io/p/org.jetbrains/server-postgres) | Adds Postgres database support |
|
|
| [Exposed](https://start.ktor.io/p/org.jetbrains/server-exposed) | Adds Exposed database to your application |
|
|
| [Dependency Injection](https://start.ktor.io/p/io.ktor/server-di) | Enables dependency injection for your server |
|
|
| [CSRF](https://start.ktor.io/p/io.ktor/server-csrf) | Cross-site request forgery mitigation |
|
|
| [Authentication OAuth](https://start.ktor.io/p/io.ktor/server-auth-oauth) | Handles OAuth Bearer authentication scheme |
|
|
| [Authentication JWT](https://start.ktor.io/p/io.ktor/server-auth-jwt) | Handles JSON Web Token (JWT) bearer authentication scheme |
|
|
| [Forwarded Headers](https://start.ktor.io/p/io.ktor/server-forwarded-header-support) | Allows handling proxied headers (X-Forwarded-*) |
|
|
| [Default Headers](https://start.ktor.io/p/io.ktor/server-default-headers) | Adds a default set of headers to HTTP responses |
|
|
| [CORS](https://start.ktor.io/p/io.ktor/server-cors) | Enables Cross-Origin Resource Sharing (CORS) |
|
|
| [Compression](https://start.ktor.io/p/io.ktor/server-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
|
|
```
|