# CUBETIQ Fusion - Spring Boot 2.5+ - Vaadin Fusion (21+) - TypeScript - Java 11+ - Kotlin 1.5+ ## Running the application The project is a standard Maven project. To run it from the command line, type `mvnw` (Windows), or `./mvnw` (Mac & Linux), then open http://localhost:8080 in your browser. You can also import the project to your IDE of choice as you would with any Maven project. Read more on [how to set up a development environment for Vaadin projects](https://vaadin.com/docs/latest/guide/install) (Windows, Linux, macOS). ## Deploying to Production To create a production build, call `mvnw clean package -Pproduction` (Windows), or `./mvnw clean package -Pproduction` (Mac & Linux). This will build a JAR file with all the dependencies and front-end resources, ready to be deployed. The file can be found in the `target` folder after the build completes. Once the JAR file is built, you can run it using `java -jar target/myapp-1.0-SNAPSHOT.jar` (NOTE, replace `myapp-1.0-SNAPSHOT.jar` with the name of your jar). ## Project structure
Directory | Description |
---|---|
frontend/ | Client-side source directory |
index.html | HTML template |
index.ts | Frontend entrypoint, contains the client-side routing setup using Vaadin Router |
main-layout.ts | Main layout Web Component, contains the navigation menu, uses App Layout |
server-layout.ts | Blank layout Web Component for server-side Java/Kotlin views |
views/ | UI views Web Components (TypeScript) |
themes/ | Custom CSS styles |
src/main/java/com/cubetiqs/fusion | Server-side source directory, contains the server-side Java views |
src/main/kotlin/com/cubetiqs/fusion | Server-side source directory, contains the server-side Kotlin views |
Application.kt | Server entry-point |