Don't forget to update this file with your own project description.
This is a preconfigured sample/starter project with Kotlin/Klite with some best-practices:
- Simple src/test directory structure for backend code
- Committed
.envfile for dev configuration - PostgreSQL in Docker Compose
- DB migrations creating:
- Less privileged app user
- change_history table and triggers
- Unit tests
- Internationalization
- TypeScript types generation for frontend
- UI with Vite/Svelte/TailwindCSS - get more components from Svelte Sample Repo
Follows The Pure Code Manifesto principles.
Check Klite Tutorial if you want to start from scratch with Klite.
- JDK 25+
- Node 24+
- Docker
See Dockerfile for more information
./gradlew jar
Inside of ui directory:
Install the dependencies using: npm install and
Build UI using: npm run build
Start API by running the Launcher.
It will automatically try to start the database using docker compose up -d db
To access DB via IDE use credentials from .env file.
Start UI using: cd ui && npm start
Server tests:
./gradlew test
Repository tests are integration tests, connecting to the real database, which runs in Docker.
The test database name ends with _test.
UI tests:
cd ui && npm test
The easiest way to deploy is via Docker compose:
docker compose up -d
This will pull/build and start the application and the database.