This is the backend for the Mauro Data Mapper application. For more information about the application, see the Mauro Data Mapper website.
If you are interested in installing an instance of the application, please follow the instructions on the website for installing a sandbox or production-ready version via Docker.
The mauro-micronaut repository is a Gradle project, with code written in Groovy. It uses
the Micronaut framework, including:
- Micronaut Data
- for persisting data to a Postgres database (using JDBC)
- Micronaut Security for authentication and authorization
- Micronaut HTTP Client for building an API client
- Micronaut Flyway for database migrations
- Micronaut Test for testing
- Micronaut OpenAPI for generating OpenAPI documentation
The back-end application comprises four subprojects:
mauro-domain: The 'domain layer' of Mauro which defines the underlying data model and additional Mauro concepts such as plugins, profiles, etc.mauro-persistence: The code for persisting Mauro objects into a Postgres database, including an in-memory caching layermauro-client: Interfaces that Micronaut uses to generate client / SDK code for interacting with a Mauro APImauro-api: Controllers and business logic for defining the Mauro API: this is the 'application layer' of Mauro.
To change the configuration of the application, for example the database connection, the
port for the application to run on, security settings, etc., edit the application.yml file in
the src/main/resources directory of the mauro-api project.
You will need a Postgres database - you can specify the connection details in the application.yml
file as described above.
You can use SDKMan to ensure that you're running the correct version of Java, Groovy and Gradle:
sdk env
To run the application locally, run the following command from the top-level directory:
gradle run
If you want to run the web interface, mdm-ui, you will need to follow the instructions in that repository.