54 lines
2.8 KiB
Markdown
54 lines
2.8 KiB
Markdown
# UserService
|
|
|
|
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 |
|
|
|------|-------------|
|
|
| [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 |
|
|
| [gRPC](https://start.ktor.io/p/org.jetbrains/kotlinx-rpc-grpc) | Adds gRPC services to your Ktor server with kotlinx.rpc |
|
|
| [Rate Limiting](https://start.ktor.io/p/io.github.flaxoos/server-rate-limiting) | Manage request rate limiting as you see fit |
|
|
| [Kafka](https://start.ktor.io/p/io.github.flaxoos/server-kafka) | Adds Kafka support to your application |
|
|
| [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 |
|
|
| [OpenTelemetry](https://start.ktor.io/p/io.opentelemetry.instrumentation/server-open-telemetry) | Instruments applications with distributed tracing, metrics, and logging for comprehensive observability |
|
|
| [Sessions](https://start.ktor.io/p/io.ktor/server-sessions) | Adds support for persistent sessions through cookies or headers |
|
|
| [Authentication](https://start.ktor.io/p/io.ktor/server-auth) | Provides extension point for handling the Authorization header |
|
|
| [Authentication Basic](https://start.ktor.io/p/io.ktor/server-auth-basic) | Handles 'Basic' username / password authentication scheme |
|
|
| [Swagger](https://start.ktor.io/p/io.ktor/server-swagger) | Serves Swagger UI for your project |
|
|
|
|
## Structure
|
|
This project includes the following modules:
|
|
|
|
| Path | Description |
|
|
|------|-------------|
|
|
| | null |
|
|
| client | null |
|
|
| core | null |
|
|
| server | 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
|
|
```
|