/kvision-realworld-example-app

Exemplary real world application built with KVision (Kotlin/JS)

Primary LanguageKotlin

RealWorld Example App

RealWorld Frontend CI

KVision codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the RealWorld spec and API.

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

Packaging

  • ./gradlew zip - Packages a minified production version in a zip archive with all required files into build/libs/*.zip.

Testing

  • ./gradlew test - Run unit tests defined in src/test/kotlin source files. Test reports are generated into build/reports/tests/test.