No description
Find a file
2025-11-23 13:59:26 +08:00
docs Init Commit 2025-11-23 13:59:26 +08:00
gradle/wrapper Init Commit 2025-11-23 13:59:15 +08:00
src Init Commit 2025-11-23 13:59:15 +08:00
.gitignore Init Commit 2025-11-23 13:59:15 +08:00
build.gradle.kts Init Commit 2025-11-23 13:59:15 +08:00
gradle.properties Init Commit 2025-11-23 13:59:15 +08:00
gradlew Init Commit 2025-11-23 13:59:15 +08:00
gradlew.bat Init Commit 2025-11-23 13:59:15 +08:00
README.md Init Commit 2025-11-23 13:59:15 +08:00
settings.gradle.kts Init Commit 2025-11-23 13:59:15 +08:00

MoeMailer

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
CORS Enables Cross-Origin Resource Sharing (CORS)
Default Headers Adds a default set of headers to HTTP responses
HttpsRedirect Redirects insecure HTTP requests to the respective HTTPS endpoint
Routing Provides a structured routing DSL
OpenAPI Serves OpenAPI documentation
Simple Cache Provides API for cache management
Swagger Serves Swagger UI for your project
Authentication Provides extension point for handling the Authorization header
Authentication OAuth Handles OAuth Bearer authentication scheme
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
Sessions Adds support for persistent sessions through cookies or headers
Status Pages Provides exception handling for routes
GSON Handles JSON serialization using GSON library
HTML DSL Generates HTML from Kotlin DSL
Exposed Adds Exposed database to your application
WebSockets Adds WebSocket protocol support for bidirectional client connections

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
./gradlew buildFatJar Build an executable JAR of the server with all dependencies included
./gradlew buildImage Build the docker image to use with the fat JAR
./gradlew publishImageToLocalRegistry Publish the docker image locally
./gradlew run Run the server
./gradlew 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