This project is an example for using fritz2 with in a spring boot-web application. It will demonstrate how-to interact with a backend application in fritz2 and how-to setup this kind of project.
This project consists of two sub-projects "app" and "backend".
The "app" project is a kotlin multi platform project which contains the client-site model and application.
The "backend" project is the spring boot 2 web-application and contains all the server-side code.
For using some shared parts of the "app" the "backend" has a dependence to the commonMain
section of the "app" project.
This project uses the following libraries:
- fritz2 - mainly in "app", except validation and model in both sides
- kotlinx.serialization - currently, only in "app" because there is no official support for spring web yet
- Spring Framework - by using Spring Boot, Spring Web, Spring Data JPA in "backend"
- H2 Database - running as in-memory-db which stores the data
What is currently there:
- running full-stack-example based on the TodoMVC
- working validation provided by fritz2 extension on client- and server-side
- complete gradle configuration
- some tests
To run this application you only need to run the following gradle task:
> gradlew bootRun
Then navigate in your browser to localhost:8080
You can build a runnable fatJar by running the bootJar
gradle task.
If you instead want to deploy this application to a Java web server you
can run the gradle bootWar
task to get a war file.
Both files are then located at the ./backend/build/libs
folder.
If you like this example and how fritz2 works it would be great when you give us a ⭐ at our fritz2 github page.
When you find some bugs or improvements please let us know by reporting an issue here. Also, feel free to use this project as template for your own applications.