Skip to article frontmatterSkip to article content

Generated Project README

This document outlines the steps to set up, configure, and deploy the application.

1.Usage

1.1.Run with Docker

To run the application using Docker, which simplifies the setup through containerization, follow the steps below.

Install Docker if they are not already installed on your machine.

Navigate to the root directory of the project where the docker-compose.yml file is located and run the following command:

docker compose up

If you have made changes to the source code and need to rebuild and restart the application, use the following commands:

docker compose down
docker compose up --build

docker compose down stops the servers and docker compose up --build rebuilds the application to include changes and restarts it.

1.2.Run manually

To run the application manually, ensure Maven is installed on your machine, and set up the PostgreSQL database as specified in the docker-compose.yml file. Then, navigate to the root directory of the project where the pom.xml file is located and execute the following commands:

Start the application using Spring Boot:

mvn spring-boot:run

2.Operations

The application settings are located in the src/main/resources/application.properties file. Adjust the settings below to configure the application’s behavior.

2.1.Email configuration

Configure the SMTP settings to enable email functionalities. Replace placeholders with your actual email service provider’s details and credentials:

2.2.Enabling SQL logging

#[[To enable SQL logging for development, remove the comments before the lines under the # SQL Logging for development section.]]# Uncommenting these lines will activate verbose logging for SQL operations, which is helpful for debugging during development:

# SQL Logging for development
logging.level.ROOT = WARN
logging.level.org.springframework.test.context.transaction = INFO
logging.level.org.hibernate.SQL = DEBUG
spring.jpa.properties.hibernate.format_sql = true
logging.level.org.hibernate.type.descriptor.sql.BasicBinder = TRACE

2.3.Experimental features configuration

To enable experimental features within the system that are not yet fully stable, modify the following line, default value is false:

mike.experimental.features=false

2.4.Configuring environment variables

Below are the environment variables which can configure the execution of the application without require any change in the application.properties: