Mission Statement

Our objective is to create an application that allows someone to explore disparate or large data sets without the need of an advanced knowledge of SQL or another database management language. This person will be able to explore data using plain English instead of the jargon associated with most database management systems.

Product Overview

The Model Melder is a web application that allows the the user to connect disparate data sources together. These data sources can be either PostgreSQL databases or CSV files. This is accomplished by drawing connections between similar columns, or categories, contained in two different models. A model is a table in a database or is imported from a CSV file. Our software automatically groups categories from different models based on column name. Then the user can create a query by defining a filter within particular categories. By creating queries on particular data in one model to find it in another, the user can make connections between models and ideally reach some insightful conclusions. The software also keeps track of past queries the user has made, so that the user can refer back to filters they've used before for queries on particular models. This page also allows the user to quickly create new queries based off a previous query's model.

Data Manager

The data manager allows users to import different data sources into the application. There are two different allowable data sources, CSVs and SQL databases. Here a user can add a database to the application.
Adding a Database
If the user clicks on "Add a CSV" a form will appear that allows the user to upload a CSV to the application.
Adding a CSV
After a CSV is uploaded, the user will be able to designate the datatypes of the columns. Once the user has added data to the application, the different sources can be viewed in the model list view
Model List View
The user can select different models and create different relationships between them to explore in the query builder

Query Builder

Once in the query builder the user can select a model for a query and a list of rows will populate the query builder.
Querying on a Model
After selecting a particular value, the user can now query on other data sources to find connections. All this does is look for matching values (in either identical or all columns) of other data sources. The new query will populate the right side of the query builder. If the user wishes to query futher he or she can select a value from the left or right side of the query builder to create a new query.

Query Historian

If the user has made a few queries, then the history of the queries will show up here.
Viewing Query History
The user can use this list to explore past queries made and view the path created by these queries. If the user wants to start a new query from a past query, he or she can click on the query and create a new query from it.


The ModelMelder team is composed of students from Professor Jim Purtilo's Software Engineering course of the Spring 2016 semester at the University of Maryland College Park. The team includes Damien Nagle, Daniel Barnard, Nick Downey, Kevin Delmolino, Edward Zhou, Edison Lin, Noel Buruca, Robert Craynon, Suparna Barua, Yash Trivedi, and Tyler Askew.