- Ktor - Web API
- KVision (Kotlin/JS) - Frontend Web Application
- Arrow (Core) - Error Handling and Monads
- Ballast (Core & Navigation) - Frontend State Management and Routing
- JetBrains Exposed - Database ORM Framework
- JDBC Drivers (H2 / MySQL - Database Access
- Koin - Dependency Injection + Ktor Bindings
- kotlinx-datetime - Multiplatform Datetime Library
- Ktor - Http Client
- KVision Modules - Rich Integrations and Libraries for Frontend Development
- Authentication
- Contacts Management
- Task Management
- User Preferences
- UI Enhancements
All notable changes to this project will be documented. See ChangeLog for details.
The project can be used with or without a database.
- To use without a database, set the
settings.useInMemoryStorageproperty insrc/backendMain/resources/application.conftotrue - To use with a database, configure the
dbsection insrc/backendMain/resources/application.confaccordingly. Don't forget to create a database for it too...
- compileKotlinFrontend - Compiles frontend sources.
- compileKotlinBackend - Compiles backend sources.
- frontendRun - Starts a webpack dev server on port 3000
- backendRun - Starts a dev server on port 8080
- frontendBrowserWebpack - Bundles the compiled js files into
build/distributions - frontendJar - Packages a standalone "web" frontend jar with all required files into
build/libs/*.jar - backendJar - Packages a backend jar with compiled source files into
build/libs/*.jar - jar - Packages a "fat" jar with all backend sources and dependencies while also embedding frontend resources into
build/libs/*.jar