Appearance
Web Modules
Squizy offers two mutually exclusive approaches for serving the frontend client. Choose one based on your deployment needs.
squizy-web-client
Bundles the pre-built default frontend into your application. The frontend is served from the same Spring Boot application as the API, creating a single deployable artifact.
Use this when you want the standard Squizy UI without customization:
xml
<dependency>
<groupId>io.twentyninetech</groupId>
<artifactId>squizy-web-client</artifactId>
</dependency>This is included automatically when using squizy-web-starter.
WARNING
squizy-web-client and squizy-web-maven-plugin are mutually exclusive. Do not use both in the same project.
squizy-web-maven-plugin
A Maven build plugin that compiles the frontend with support for overlays and customization. This is the standard approach for production applications that need to customize the UI (branding, custom components, layout modifications).
xml
<build>
<plugins>
<plugin>
<groupId>io.twentyninetech</groupId>
<artifactId>squizy-web-maven-plugin</artifactId>
</plugin>
</plugins>
</build>The plugin handles the Node.js build process during Maven's build lifecycle, producing a customized frontend bundle that is packaged into the application.
See Customizing the Frontend for details on available overlay and customization options.
Separate Frontend Deployment
For deployments where the frontend runs on a separate server or CDN, use only squizy-server-starter (without any web module) and point to the frontend URL:
properties
squizy.client.client-url=https://your-frontend-domain.comCORS is configured automatically based on the client-url — no additional CORS configuration is needed. If you need to allow additional origins beyond the client URL, you can use squizy.cors.allowed-origins to override.
Comparison
squizy-web-client | squizy-web-maven-plugin | Separate deployment | |
|---|---|---|---|
| Single artifact | ✅ | ✅ | ❌ |
| Default UI | ✅ | ✅ | ✅ |
| UI customization | ❌ | ✅ | ✅ |
| Build complexity | Low | Medium | High |
| Use case | Prototyping, internal tools | Production | Custom frontend |