mobydq uses PostgreSQL 11.0. It contains configuration data required to execute indicators and stores the result of their executions. The database runs into an independent Docker container named
Note direct access to the database is restricted by default to avoid intrusions. In order to access it directly with a SQL client, you must run the container in development mode with the following command which opens the Docker container port:
$ cd mobydq $ docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d db
When running the container in local development mode, the database is accessible on
host: localhost and
The GraphQL API is used to perform CRUD operations on the database and trigger the execution of data quality indicators. It is powered by the excellent Postgraphile which introspects the database schema to create queries and mutations. The GraphQL API runs into an independent Docker container named
mobydq-graphql. The interactive documentation GraphiQL is accessible on https://localhost/graphiql.
The web application provides a user-friendly interface to configure and monitor indicators. It is built using React JS and runs into an independent Docker container named
mobydq-app. When running the project locally, it is accessible on https://localhost.
Both the web application and the Flask API are served using an Nginx web server which ensures requests are sent using SSL encryption. Nginx runs into an independent Docker container named
The execution of data quality indicators is triggered by the GraphQL API. Each batch of indicators runs into an independant ephemeral container.