Video Demo: https://youtu.be/UyPV7N6FHfE
- Install Java 17, Maven, Docker, and Docker Compose
- Setup datasource. See
src/main/resources/docker/docker-compose.ymlfor a sample MariaDB docker container. Update the volumes path, replacing/Users/joey/lyrasis/mysqlwith a path on your machine. Start the container withdocker-compose up - Update settings in
/src/main/resources/application-dev.propertiesto match your local development environment. Namely, update thelct.path.*settings - Run the application using the Spring Boot Maven plugin. To do this, navigate to the main directory containing the
pom.xmland runmvn spring-boot:run -Dspring-boot.run.profiles=dev. This will start the application.
- Install Java 17, Maven, Docker, and Docker Compose
- In IntelliJ, open the
pom.xmland import as a Maven project - Open
src/main/resources/docker/docker-compose.ymlfor a sample MariaDB docker container. Update the volumes path, replacing/Users/joey/lyrasis/mysqlwith a path on your machine. Start the container with the IDE's 'Run' button - Edit the Run Configuration using the 'Edit Configuration' option in the dropdown in the top right of the IDE, near the Start & Debug buttons
- Add
devto the Active Profiles section. Override parameters fromsrc/main/resources/application-dev.propertiesin the "Override paramaters" section as needed to match your local setup - Run the application with either the Start or Debug button
A Developer profile dev (mentioned above) is included to make local development easier. This profile does the following differently from the remote profile used in production:
- Thymeleaf HTML templates and static resources are updated on page reload, so you can make changes to them without restarting the application
- The
DevelopmentUserServicebean is enabled and the regularUserServiceandFirebaseAuthbeans are disabled. This removes the need to include Firebase Admin secrets by default. You will always be logged in as the user set inDevelopmentUserService
You will also likely need to update some parameters in src/main/resources/application-dev.properties
- lct.path.* settings should be updated or overridden to reflect your local machine
- jdbc settings may need to be changed to reflect your datasource setup