You are viewing documentation for Vaadin Framework 8 and related products View documentation for Vaadin Framework 7 ›
Bakery App Starter for FW8 and Spring · Vaadin
Vaadin Full Stack Starter - Bakery App Starter for FW8 and Spring

Bakery App Starter for FW8 and Spring

Bakery is an App Starter to give you a head start building your business application based on Vaadin Framework 8 and Spring.

It includes an end-to-end technology stack covering each layer that is needed the build a production grade application. The App Starter is opinionated and reflects Vaadin’s view on what is the best way to build business applications.

Bakery on different devices

Features

Full stack architecture

Bakery architecture is built to give a full opinionated working stack with all the technologies changed out. Every project has however their own needs and each stack doesn’t fit in to every project. If the default stack is not a perfect fit for your needs, you can switch out the technologies to match your requirements better.

Bakery is using the Spring stack by default, with Spring Data taking care of the database, Spring Security managing authentication and authorization and Spring boot helps in packaging, configuring and running. An H2 database is added so that you can run the software directly with zero configuration and it can easily be replaced for your production database. Vaadin Designer has been used to build all UIs and the application is tested with Vaadin TestBench. Gatling, along with TestBench is used to perform scalability tests on the system.

Bakery Architecture diagram
Figure 1. Architecture diagram

Declarative, mobile-first views

Views are built with Vaadin Framework 8 with the help of Vaadin Designer. Each view is built responsively, mobile-first. Vaadin Designer enables you to build the views visually and in a very fast and productive way. The views that are bundled show paradigms on how to create certain types of view and serve as bases for your own views.

Bakery Mobile view
Figure 2. Bakery Mobile view

CRUD views

They go with multiple names. Create-Read-Update-Delete, Master-Detail. Updating data is at the core of many business applications. Bakery includes two examples of CRUD views where you can maintain the data.

Bakery CRUD view
Figure 3. Bakery CRUD view

Dashboard with Charts

A dashboard view is included to give the user an overview of the data in the application in one glance. Customize the widgets to show the data that is relevant to your users and give them indications on events that they should react to. Vaadin Board is used to layout the dashboard and Vaadin Charts visualizes the data.

Bakery Dashboard view
Figure 4. Bakery Dashboard view

Authentication and authorization

The application is protected with user login to keep your sensitive data safe. Users can have different roles defined in the application which defines what they can do within the application. The authentication and authorization is built on top of Spring Security, given you many extensions points to configure it the way you handle security in your company.

Bakery Login screen
Figure 5. Bakery Login screen

Tested

Integration tests are built on the application with the help of Vaadin TestBench. We content that you don’t break functionality of the application why developing by maintaining and running the tests while developing. Running tests can be set up to happen on and integration server along with every commit.

Scalable

The application includes a scalability setup for testing how your application scales to multiple users.

We have tested the application’s performance. Download the scalability report to find out closer how many end users you can serve.

Service layer

Views contact a service layer which separates the UI layer from the business logic layer. The Service layer is divided to Services which is the contact point for the UI layer, and repositories that communicate with the database.

Spring Data

Database layer makes use of Spring Data, JPA and Hibernate to fetch data, with a handy API for querying. The application comes bundled with an in-memory H2 database for easy setup and getting started, along with an easy way to switch the in-memory database for a production database.

Spring Boot

The application is set up, run and packaged with the help of Spring Boot, which helps you create production-ready applications.

Maven

Dependency management and building is handed to Maven and the standardized Maven conventions help working in the industry-proven way.

Getting started

A personalized project can be downloaded from the product page by giving group id, artifact id and developer name.

A paid Pro or Prime subscription is required for creating a new software project from a Starter template. After its creation, results can be used, developed and distributed freely, but licenses for the used commercial components are required during development. The Starter or its parts cannot be redistributed as a code example or template. For full terms, see the Commercial Vaadin Template License.

See more information on setting up your environment in Running, building and packaging.

Software needed

  • Java JDK 1.8 or higher

  • Maven is required for building, running and packaging the Software