This project can be used as a starting point to create your own Hilla application with Spring Boot. It contains all the necessary configuration and some placeholder files to get you started. The demo app is a bit fabricated and is more purposed to demonstrate certain advanced topics in Hilla/React.
- Using data provider in Grid with backend sorting and filtering for large data source
- Wrap the needed logic in custom hook
- Using Hilla's useForm to bind fields to object and perform client side validation
- Perform expensive backend validation and catching the backend exception message for the UI
- Broadcast notification of new saved Todos for all users
- Create custom Badge component
- Create custom field LocalizedDatePicker that works with useForm
- Style Grid to have hover effect on data rows
- Inject tooltip to header with sorter
The project is a standard Maven project. To run it from the command line,
type mvn spring-boot:run
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.
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).
Directory | Description |
---|---|
frontend/ | Client-side source directory |
index.html | HTML template |
index.ts | Frontend entrypoint, bootstraps a React application |
routes.tsx | React Router routes definition |
MainLayout.tsx | Main layout component, contains the navigation menu, uses App Layout |
views/ | UI view components |
themes/ | Custom CSS styles |
src/main/java/<groupId>/ | Server-side source directory, contains the server-side Java views |
Application.java | Server entry-point |
- Read the documentation at hilla.dev/docs.
- Ask questions on Stack Overflow or join our Discord channel.
- Report issues, create pull requests in GitHub.