# Constrainify - Simplify Creating Quality Constraints to Analyze Data
Constrainify is an application that allows users to create quality constraints and perform data quality analysis. Users can define quality constraints in the form of intuitive sentences based on templates. They can select a set from the defined constraints and run it for their quality analysis. The two data quality tools [MQAF](https://github.com/pkiraly/qa-catalogue) and [QPM](https://github.com/Project-KONDA/pattern-based-quality-analysis) work in the background and create a detailed and understandable quality report.
## Why Constrainify?
Typical Data Quality Tools often require a lot of skills. In addition to the typical analytical skills of a data analyst, expert knowledge of data and data models is also required. Constrainify takes care about the details of the data and the structure of the data model behind it.
Users only need an affinity for quality problems and an interest in high data quality. Constrainify lets users define constraints in natural language and easy-to-understand sentences. Users can define their own constraints based on templates and adapt them to their data. The quality analysis runs in the background and creates a corresponding quality report. No account is required and the data remains temporary and anonymous.
## Demo
[Constrainify](https://constrainify.gwdg.de)
## Getting Started
> **Step 1** Make sure you have installed docker, clone this repository and navigate to its directory.
> **Step 2** Set up a secret key stored in the file `session_key.env` that looks like this: `6zgm8raxznijv7781k49ut5m9`.
> **Step 3** Make sure you have a docker built image of constrainify-core, qpm and mqaf.
> **Step 4** User Docker to run the application:
```
docker compose up
```
> **Step 5** Go to http://localhost:8000 on any browser and enjoy Constrainfy!