A lightweight web framework for building HTTP applications on the JVM, written in Kotlin. Built on Eclipse Jetty, Wizard provides a simple and expressive API for creating web services.
Current:
- HTTP method support (GET, POST, PUT, PATCH, DELETE, OPTIONS)
- Simple route registration with lambda handlers
- Request/Response wrapper API
- Jetty-based server (runs on port 8090)
Planned:
- Payload parsing
- JSON response handling
- Interceptor support
import com.wizard.WizardApplication
class MyApp : WizardApplication()
fun main() {
val app = MyApp()
WizardApplication.get("/") { request, response ->
"Hello, Wizard!"
}
WizardApplication.get("/health") { request, response ->
response.status = 200
"OK"
}
app.run() // Starts server on port 8090
}This is a multi-module Gradle project:
core/- The Wizard web framework libraryapp/- Demo application showing framework usageutils/- Utility library with kotlinx ecosystem integrationsbuildSrc/- Convention plugin for shared build logic
This project uses Gradle with the Gradle Wrapper.
# Build and run the demo application
./gradlew run
# Build all modules
./gradlew build
# Run all tests and checks
./gradlew check
# Run tests for specific module
./gradlew :core:test
./gradlew :app:test
# Clean build outputs
./gradlew cleanThe demo application in app/ will start a server on port 8090 with example routes at /, /health, and /status.
Learn more about the Gradle Wrapper.
The project uses modern Gradle features:
- Version catalog in
gradle/libs.versions.tomlfor dependency management - Build cache and configuration cache enabled in
gradle.properties - Kotlin 2.1.0 with Java 11 toolchain
- JUnit Jupiter for testing
Comprehensive documentation is available in the docs/ directory:
- Product Requirements Document (PRD) - Complete feature specifications and technical requirements
- Code Samples - Practical examples covering:
- Quick Start & HTTP Routing
- Request & Response Handling
- Interceptors (middleware)
- Database Operations
- Complete Application Examples
- Comparison with Dropwizard - Feature-by-feature comparison with Dropwizard framework
- Getting Started Guide
- HTTP Methods & Routing
- Custom Interceptors
- Database Integration
- Complete Blog API Example
MIT License - see LICENSE file for details.