- All changes to widgets must occur atomically.
- Assuming 90% of load distribution is read operations.
- The Z-index must be unique.
- Environment: Java 11 / Spring Boot
Application can be configured to run against a local (in-memory) or DB based (H2) storages.
Storage type can be explicitly specified in the configuration file "application.yml" where
one of two possible values should be specified: local | database
Alternatively the storage type can be set by specifying a Spring execution profile when starting the server (see section Run)
mvn clean install
This will compile the sources, run the tests and build the execution bundle
There are multiple ways you can start/run the Server:
-
mvn spring-boot:run
This will start the server using the storage provider explicitly configured in the "application.yml". -
mvn spring-boot:run -Dspring-boot.run.profiles=database
This will start the spring boot app with specified profile, using the corresponding storage provider if is not configured in the main configuration file. -
You can build a Docker image using provided Dockerfile and run the server from the container:
docker build -t miro-widgets .docker run -p 8080:8080 miro-widgets