# 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.
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 to produce 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.
Typical data quality tools often require a variety 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 of 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.
Users only need an affinity for quality problems and an interest in high data quality. Constrainify allows users to define constraints using natural language and easytounderstand sentences. Users can define their own constraints based on templates and adapt them to their data. Quality analysis runs in the background and produces 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 1** Make sure you have Docker installed, 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 2** Create 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 3** Make sure you have a built Docker image of constrainify-core, qpm, and mqaf.