2021-07-25 18:22:14 +07:00
# CUBETIQ Fusion
2021-07-25 17:44:30 +07:00
2021-07-25 18:37:43 +07:00
- Spring Boot 2.5+
2021-07-25 18:22:14 +07:00
- Vaadin Fusion (21+)
- TypeScript
2021-07-25 18:37:43 +07:00
- Java 11+
- Kotlin 1.5+
2021-07-25 17:44:30 +07:00
## 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
< table style = "width:100%; text-align: left;" >
< tr > < th > Directory< / th > < th > Description< / th > < / tr >
< tr > < td > < code > frontend/< / code > < / td > < td > Client-side source directory< / td > < / tr >
< tr > < td > < code > index.html< / code > < / td > < td > HTML template< / td > < / tr >
< tr > < td > < code > index.ts< / code > < / td > < td > Frontend entrypoint, contains the client-side routing setup using < a href = "https://vaadin.com/router" > Vaadin Router< / a > < / td > < / tr >
< tr > < td > < code > main-layout.ts< / code > < / td > < td > Main layout Web Component, contains the navigation menu, uses < a href = "https://vaadin.com/components/vaadin-app-layout" > App Layout< / a > < / td > < / tr >
< tr > < td > < code > views/< / code > < / td > < td > UI views Web Components (TypeScript)< / td > < / tr >
< tr > < td > < code > themes/< / code > < / td > < td > Custom
CSS styles< / td > < / tr >
< tr > < td > < code > src/main/java/< groupId> /< / code > < / td > < td > Server-side
source directory, contains the server-side Java views< / td > < / tr >
< tr > < td > < code > Application.java< / code > < / td > < td > Server entry-point< / td > < / tr >
< / table >
## Deploying using Docker
To build the Dockerized version of the project, run
```
docker build . -t myapp:latest
```
Once the Docker image is correctly built, you can test it locally using
```
docker run -p 8080:8080 myapp:latest
```