holon-platform / holon-vaadin-flow-demo

Vaadin Flow demo application (Bakery online store)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Holon platform Vaadin Flow demo application: Bakery online store

This is a demo project built with the Holon Platform.

Description

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.

Features

These are the main features of the Bakery web application:

  1. Backoffice function to insert and manage users
  2. Backoffice function to insert and manage bakery products
  3. Storefront function to manage the whole lifecycle of the orders
  4. Analysis function on sales data through dynamic graphs

Full stack architecture

  • Spring Boot for packaging, configuring and running

  • H2 in memory Database with minimal configuration

  • Holon Platform with the following modules:

    1. Datastore JDBC module
    2. Vaadin Flow module
  • Vaadin Addons:

    1. Charts
    2. Board

Topics

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 and Datastore API with the Vaadin Flow components to display and manage application entities.

Data and routing

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

Run the demo

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:

Documentation

The complete Holon Platform reference guide is available here.

For the specific documentation about the modules and the components used in this example see:

System requirements

You need a JRE/JDK version 8 or above to build and run this demo project.

License

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.

About

Vaadin Flow demo application (Bakery online store)


Languages

Language:Java 96.0%Language:HTML 4.0%