64 lines
3.2 KiB
Markdown
64 lines
3.2 KiB
Markdown
|
# Custom project from start.vaadin.com
|
||
|
|
||
|
This project can be used as a starting point to create your own Vaadin application with Spring Boot.
|
||
|
It contains all the necessary configuration and some placeholder files to get you started.
|
||
|
|
||
|
## 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>
|
||
|
|
||
|
## Useful links
|
||
|
|
||
|
- Read the documentation at [vaadin.com/docs](https://vaadin.com/docs/latest/).
|
||
|
- Create new projects at [start.vaadin.com](https://start.vaadin.com/).
|
||
|
- Search UI components and their usage examples at [vaadin.com/components](https://vaadin.com/components).
|
||
|
- Find a collection of solutions to common use cases in [Vaadin Cookbook](https://cookbook.vaadin.com/).
|
||
|
- Find Add-ons at [vaadin.com/directory](https://vaadin.com/directory).
|
||
|
- Ask questions on [Stack Overflow](https://stackoverflow.com/questions/tagged/vaadin) or join our [Discord channel](https://discord.gg/MYFq5RTbBn).
|
||
|
- Report issues, create pull requests in [GitHub](https://github.com/vaadin/).
|
||
|
|
||
|
## 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
|
||
|
```
|