The Gemini Backend module is built on top of the Java Micronaut Framework providing an easy way to create powerful REST APIs using a Domain Driven Design approach.
The starting point of Gemini is the Gemini Schema, by using a Domain Driven Design approach developers can define the data fields for the APIs letting Gemini doing the REST.
Starting from the schema, Gemini automatically generates for you:
- Basic CRUD APIs: GET, POST, PUT, PATCH, DELETE
- Advanced APIS: filter / count / search
- Big data support: like pagination and sorting for entities with millions of records
Gemini also provide a way to define REST API configurations, letting the APIs behave as you want. For example you can decide to create read only entities so PUT, POST are disabled. Or you can enable pagination for big data entities in order to avoid an overload for the service.
The data driver is the low level of Gemini, where developer choose how to store or retrieve raw data. Usually in the drivers there is the mapping between fields of the Gemini Entities (defined in the schema) and the data storage of the driver (SQL, NoSql, files, queue, etc...).