# 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 ```