This app was created with Bootify.io - tips on working with the code can be found here.
When starting the application docker compose up is called and the app will connect to the contained services. Docker must be available on the current system.
During development it is recommended to use the profile local. In IntelliJ -Dspring.profiles.active=local can be added in the VM options of the Run Configuration after enabling this property in "Modify options". Create your own application-local.yml file to override settings for development.
Lombok must be supported by your IDE. For IntelliJ install the Lombok plugin and enable annotation processing - learn more.
In addition to the Spring Boot application, the DevServer must also be started - for this Node.js version 24 is required. On first usage and after updates the dependencies have to be installed:
npm install
The DevServer can be started as follows:
npm run devserver
Using a proxy the whole application is now accessible under localhost:3000. All changes to the templates and JS/CSS files are immediately visible in the browser. Frontend unit tests can be executed with npm run test.
The application can be built using the following command:
mvnw clean package
Node.js is automatically downloaded using the frontend-maven-plugin and the final JS/CSS files are integrated into the jar.
Start your application with the following command - here with the profile production:
java -Dspring.profiles.active=production -jar ./target/runs-app-0.0.1-SNAPSHOT.jar
If required, a Docker image can be created with the Spring Boot plugin. Add SPRING_PROFILES_ACTIVE=production as environment variable when running the container.
mvnw spring-boot:build-image -Dspring-boot.build-image.imageName=me.sathish/runs-app