This is a demo project built with the Holon Platform.
This is a full stack web application that simulates the online order management of a bakery. Starting from product and user records, it is possible to manage daily orders and to analyze sales data.
The aim of the project is to show how to create a full stack application using Vaadin Flow in combination with the Vaadin Flow module of the Holon Platform.
These are the main features of the Bakery web application:
- Backoffice function to insert and manage users
- Backoffice function to insert and manage bakery products
- Storefront function to manage the whole lifecycle of the orders
- Analysis function on sales data through dynamic graphs
-
Spring Boot for packaging, configuring and running
-
H2 in memory Database with minimal configuration
-
Holon Platform with the following modules:
- Datastore JDBC module
- Vaadin Flow module
-
Vaadin Addons:
This example addresses the following topics:
- Setup a web application using the Holon Platform Vaadin Flow integration and Spring Boot auto-configuration support.
- Use
Realm
to manage authentication/authorization aspects - Use the
Navigator
API to handle application routing and the@Route
annotation to define routing targets. - Use the Holon Platform
Property model
andDatastore
API with the Vaadin Flow components to display and manage application entities.
A JDBC Datastore
backed by a H2 database is used for product data persistence. All tables listed defined in schema.sql
file are created at startup and populated using the data.sql
file.
The Bakery application is composed by these routes:
- Login: the first page to enter credentials
- Storefront: the home page, where all the orders are listed and can be modified
- Products: page to view all products at the store, insert new ones and modify the present ones
- Users: page to view current users, insert new ones and modify the present ones
- Dashboard: page to analize order data through charts
The Bakery demo is configured using Spring Boot. So from command prompt run
mvn spring-boot:run
or run the Application
class.
After application startup navigate to:
http://localhost:8080
It will be prompted username and password to login. Standard users are:
- admin@holon-platform.com / admin
- barista@holon-platform.com / barista
The complete Holon Platform reference guide is available here.
For the specific documentation about the modules and the components used in this example see:
- Documentation about the Datastore API
- Documentation about the Realm API
- Documentation about the Vaadin Flow module
You need a JRE/JDK version 8 or above to build and run this demo project.
All the Holon Platform modules and examples are Open Source software released under the Apache 2.0 license.
Vaadin Charts and Board are commercial components so you will need a licence to use them. The easiest way to get a license is to subscribe to Vaadin Pro or Vaadin Prime subscription.