Skip to content

A simplistic Ktor server, designed to sync pocketplan data.

Notifications You must be signed in to change notification settings

RayLeaf-Studios/PocketSync

Repository files navigation

PocketSync

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
Routing Provides a structured routing DSL
WebSockets Adds WebSocket protocol support for bidirectional client connections
Koin Provides dependency injection
kotlinx.serialization Handles JSON serialization using kotlinx.serialization library
Content Negotiation Provides automatic content conversion according to Content-Type and Accept headers
Exposed Adds Exposed database to your application
KHealth A simple and customizable health plugin
Call Logging Logs client requests
Swagger Serves Swagger UI for your project
OpenAPI Serves OpenAPI documentation
Request Validation Adds validation for incoming requests
Authentication Provides extension point for handling the Authorization header
Authentication JWT Handles JSON Web Token (JWT) bearer authentication scheme
Authentication Basic Handles 'Basic' username / password authentication scheme

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

About

A simplistic Ktor server, designed to sync pocketplan data.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages