A full-stack web application demonstrating enterprise patterns for order management, built with Vaadin Flow 25 and Quarkus 3.30.
- Storefront View - Browse and manage customer orders with card-based UI
- Dashboard - Analytics and charts powered by Vaadin Charts
- Products Management - CRUD operations with master/detail pattern
- Users Management - User administration with role-based access
- Order Editor - Complex forms with line items and order history
- Java 21
- Vaadin Flow 25 - Full-stack web framework
- Quarkus 3.30 - Supersonic Subatomic Java Framework
- Hibernate ORM with Panache - Simplified persistence layer
- H2 Database - Embedded database for development
Run with hot reload enabled:
./mvnw quarkus:devThe application will be available at http://localhost:8080
Demo accounts:
- Admin:
[email protected]/admin - Barista:
[email protected]/barista
Quarkus Dev UI is available at http://localhost:8080/q/dev/
# Unit tests
./mvnw test
# Integration tests (TestBench)
./mvnw verify -Pit -Dcom.vaadin.testbench.Parameters.headless=true./mvnw package
java -jar target/quarkus-app/quarkus-run.jar./mvnw package -Dquarkus.package.jar.type=uber-jar
java -jar target/*-runner.jar# With GraalVM installed
./mvnw package -Dnative
# Without GraalVM (uses container)
./mvnw package -Dnative -Dquarkus.native.container-build=true
./target/vq-temp-1.0.0-SNAPSHOT-runnersrc/main/java/com/vaadin/starter/bakery/
├── app/
│ ├── security/ # Authentication and authorization
│ └── DataGenerator.java # Demo data initialization
├── backend/
│ ├── data/entity/ # JPA entities (Panache)
│ ├── repositories/ # Panache repositories
│ └── service/ # Business logic
└── ui/
├── views/ # Vaadin Flow views
├── crud/ # Reusable CRUD components
└── components/ # Shared UI components
src/main/resources/application.properties- Quarkus and database settingssrc/main/resources/ValidationMessages.properties- Custom validation messagessrc/main/frontend/themes/bakery/- Application theme