- TODO Replace or update this README with instructions relevant to your application
This project has the following structure:
src
├── main/java
│ └── [application package]
│ ├── base
│ │ └── ui
│ │ ├── ViewToolbar.java
│ │ └── MainLayout.java
│ ├── examplefeature
│ │ ├── ui
│ │ │ └── TaskListView.java
│ │ ├── Task.java
│ │ ├── TaskRepository.java
│ │ └── TaskService.java
│ └── Application.java
├── main/resources
│ ├── META-INF
│ │ └── resources
│ │ └── styles.css
│ └── application.properties
└── test/java
└── [application package]
└── examplefeature
└── TaskServiceTest.java
The main entry point into the application is Application.java. This class contains the main() method that starts up
the Spring Boot application.
The project follows a feature-based package structure, organizing code by functional units rather than traditional
architectural layers. It includes two feature packages: base and examplefeature.
- The
basepackage contains classes meant for reuse across different features, either through composition or inheritance. You can use them as-is, tweak them to your needs, or remove them. - The
examplefeaturepackage is an example feature package that demonstrates the structure. It represents a self-contained unit of functionality, including UI components, business logic, data access, and an integration test. Once you create your own features, you'll remove this package.
To start the application in development mode, import it into your IDE and run the Application class.
You can also start the application from the command line by running:
./mvnwTo build the application in production mode, run:
./mvnw packageTo build a Docker image, run:
docker build -t my-application:latest .If you use commercial components, pass the license key as a build secret:
docker build --secret id=proKey,src=$HOME/.vaadin/proKey .The Building Apps guides contain hands-on advice for adding features to your application.