kmp-spring-petclinic

Introduction: The project is a KMP variant of the original Spring Pet Clinic. It contains Spring Boot backend and Angular frontend that share business logic between each other.
More: Author   ReportBugs   
Tags:

The project is a Kotlin + Angular fullstack variant of the original Spring Pet Clinic. It contains Spring Boot backend and Angular frontend that share business logic between each other.

Architecture

architecture.png

Key characteristics:

  • Angular 17 with TypeScript for the frontend.
  • Spring Boot 3.5.0 with Kotlin for the backend.
  • Kotlin multiplatform support to share code between frontend and backend using a shared module
  • Akkurate to describe validation rules for DTOs
  • Ktorfit to generate API services for the frontend app
  • HSQLDB as a DB which gets populated at startup with data to simplify the showcase (could be any other DB)

Requirements

  • Java 17+ (can be installed via asdf or SDKMAN!)
  • Node.js 20+ (can be installed via asdf or nvm)

Getting started

To run just the application.

  • Install frontend dependencies with npm install
  • Run the backend with ./gradlew :backend:bootRun
  • Run the frontend with npm run start:web
  • Go to http://localhost:4200

Appreciations

The project is combining existing community repositories and intersects their common parts with the power of Kotlin Multiplatform.

The creation of such a showcase would be much harder without the solutions listed below:

Also, take a look at the fullstack variant of the Spring Pet Clinic with Compose Multiplatform

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools