/nih-explorer

Personal project to redesign https://RePORT.NIH.gov/ interface

Primary LanguageHTML

Codacy Badge Build Status Dependency Status

NIH Explorer

A web application for exploring NIH funding activity. Consists of three components:

  • Python-based scripts for loading NIH Exporter Data into a Mongo DB server (localhost used for example)
  • A Node.js server wired up to a MongoDB instance that provides data in a RESFful API compliant with the {json:api} spec
  • An Ember.js web app to provide an ambitious means of exploring of the funding data

Demo

Approach

The UX and design approach adopts principles of human-centered design and rapid prototyping. The goal is to consider the technical challenges presented by the novelty of developing an application that is meant to be complex in design and intuitive by nature. Feature ideas flow backwards from the considerations of user desires and pain points (largely speculative in this case).

Feature implementation begins with a whiteboard sketch done through a simple UI lens and deep UX perspective. The UI is then enhanced in a wireframing step (Balsamiq), which leads to implementation.

Server

Goal: Provide a {json:api} compliant REST API

Components

Client

Goal: Provide an interface with interactive data visualizations and intuitive UI faceting. Layer feature exposure to prevent inundating users with options.

Components

  • Ember: MV* framework
  • C3: quick highly configurable charts
  • Bootstrap: SASS-modified version of bootstrap
  • Balsamiq: wireframing program to generate mockups here.

ETL

Goal: Clean and restructure inherently messy public NIH funding data, and load into a mongo db instance

Components

  • Pandas: data wrangling library, essential to anything data-related
  • ipython Notebook: web browser-based python IDE
  • pymongo: mongo driver to allow mass data loading into mongo