You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
BackWizard is a modular Ktor server application written in Kotlin. The project is structured as a multi‑module Gradle build and provides authentication, user management and admin utilities. The server is packaged as a Docker container and is deployed via GitHub Actions.
4
+
5
+
## Project Structure
6
+
7
+
-`app` – main application module containing the `Application.kt` entry point and Ktor plugins setup.
8
+
-`core:core` – common utilities such as configuration helpers, response helpers and JWT utilities.
9
+
-`core:database` – database plugin using Exposed ORM and PostgreSQL.
10
+
-`feature:auth` – registration, login and token refresh logic.
11
+
-`feature:user` – endpoints and domain logic for user data.
12
+
-`feature:admin` – admin utilities like resetting the user table.
13
+
14
+
Modules are declared in `settings.gradle.kts` and loaded using Koin for dependency injection.
15
+
16
+
## Getting Started
17
+
18
+
1.**Configuration** – supply `app/src/main/resources/application.conf` with database and JWT settings. The repository excludes this file from version control. Tests verify that all required properties exist.
19
+
2.**Build** – run `./gradlew build` to compile and test the project.
20
+
3.**Docker** – the `Dockerfile` creates a fat jar and exposes port `8080`.
BackWizard is a modular Ktor server application written in Kotlin. The project is structured as a multi‑module Gradle build and provides authentication, user management and admin utilities. The server is packaged as a Docker container and is deployed via GitHub Actions.
4
+
5
+
## Project Structure
6
+
7
+
-`app` – main application module containing the `Application.kt` entry point and Ktor plugins setup.
8
+
-`core:core` – common utilities such as configuration helpers, response helpers and JWT utilities.
9
+
-`core:database` – database plugin using Exposed ORM and PostgreSQL.
10
+
-`feature:auth` – registration, login and token refresh logic.
11
+
-`feature:user` – endpoints and domain logic for user data.
12
+
-`feature:admin` – admin utilities like resetting the user table.
13
+
14
+
Modules are declared in `settings.gradle.kts` and loaded using Koin for dependency injection.
15
+
16
+
## Getting Started
17
+
18
+
1.**Configuration** – supply `app/src/main/resources/application.conf` with database and JWT settings. The repository excludes this file from version control. Tests verify that all required properties exist.
19
+
2.**Build** – run `./gradlew build` to compile and test the project.
20
+
3.**Docker** – the `Dockerfile` creates a fat jar and exposes port `8080`.
0 commit comments