Software Developer Intern at Price Lab - Digital Scholarship Intern

15 June 2018
#computer science#internship

Worked as a software developer intern under Penn Price Lab.

Penn Price Lab is a digital humanities lab at Penn, working on ground breaking humanities research focusing on applications of analytical, data oriented computer aided research methods.

My job is to develop fit for purpose data storage and analysis tools to be used by researchers in Penn Price Lab.

My main project was to develop a web app, deployed with Docker, with a Flask backend, and with a MongoDB database, used in storing, searching and visualizing complex data with user authentication. The app dynamically generates forms using JS reading from inputted schema which models the data. These forms are then used to add new data, and search the database.

The API allows the projection of certain parts of the data, no matter how nested and complex the data structure is. Lastly, the data can be mapped on location using Bokeh visualization and geocoding tools. The map can display either the ids of mapped objects, or whatever data was projected onto them.

I have also written certain command line tools for this app. "createsuperuser" allows the creation of admin users for the app. There are dump and load commands, which dump all the data from the database to a folder as json, and load json data from a specified folder to the database, in order.

I have also worked on a django based authentication layer app over Jekyll powered static sites, easing the deployment of the app by developing a Cookicutter template.