Menu

Web App for Visualizing the Distribution of Family Names

November 10, 2016

As part of the cultural hackathon Coding da Vinci Nord 2016, I built a web application for the analysis and visualization of the distribution of family names.

I used (among other tools) Node.js, Express, Mocha, AngularJS, D3.js, Java 8, Neo4J, MariaDB, and Docker.

Slides for the lightning talk at Coding da Vinci Nord 2016 (German):

Some screenshots:

The application supports the following use cases:

  • Data
    • Viewing the raw data
    • Documenting the enrichment data used for maps and postal codes
    • Known data issues
  • Analysis: searching for a name in the dataset
    • Exact match
    • LIKE-pattern search
    • Regular-expression search
    • Finding similar names using Levenshtein distance
  • Visualization
    • Geographically on a map of Germany
    • Over time on a timeline
    • Name similarity as a network/graph using Levenshtein distance

The application architecture is shown in the following diagram:

Technologies used:

  • Preprocessing: Java 8 with parallel streams
  • Databases: Neo4J, MariaDB
  • Server: Node.js, Express, Mocha, Chai
  • Client: AngularJS, D3.js, Bootstrap

More information:

categorySoftware Engineering