Awesome
KVision codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the RealWorld spec and API.
Demo RealWorld
This codebase was created to demonstrate a fully fledged fullstack application built with KVision including CRUD operations, authentication, routing, pagination, and more.
We've gone to great lengths to adhere to the KVision community styleguides & best practices.
For more information on how to this works with other frontends/backends, head over to the RealWorld repo.
How it works
Created with KVision and written in pure Kotlin/JS.
This project is using Redux Kotlin KVision module for state management.
All asynchronous API calls are wrapped with Kotlin coroutines suspending
functions and executed with KVision RestClient
component. API calls are fully type-safe and automatic
serialization/deserialization is done with kotlinx.serialization library.
Every part of HTML layout is created with Kotlin language using KVision DSL.
External marked JS library is used for parsing markdown.
Getting started
Make sure you have JDK 8 or higher installed. Check other requirements of KVision here.
The project is build with Gradle Wrapper. Run Gradle build with ./gradlew
or gradlew.bat
command.
Running
./gradlew -t run
- Starts a webpack dev server on port 3000. Open http://localhost:3000 in a browser.
Packaging
./gradlew zip
- Packages a minified production version in a zip archive with all required files intobuild/libs/*.zip
.
Testing
./gradlew test
- Run unit tests defined insrc/test/kotlin
source files. Test reports are generated intobuild/reports/tests/test
.