Skip to content
University of Pennsylvania events with search and recommendation engine
Python JavaScript Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Events at the University of Pennsylvania

A web application that collects all events happening at the University of Pennsylvania with built-in search and recommendation engine.

Run web application

We use Gatsby.js as our frontend. The frontend is located in gatsby_site folder. Before running, make sure that you have a recent version of npm installed (NodeJS 8+). If it is the first time, you need to install gatsby-cli.

# only once on first time
npm install -g gatsby-cli

and run frontend application from the gatsby_site folder as follows:

cd gatsby_site
npm install
npm start

Then index given example data to Elasticsearch located in backend/data using:

npm run index-elastic # index data to Elasticsearch

By default, this will concurrently run Gatsby frontend site at port 8000, hug API backend at port 8888, and Elasticsearch at port 9200. For deployment, use npm run deploy instead. This will run the site at port 9000. See gatsby_site, to see how to run on a remote server.

For production see devops folder on how to set up supervisord.

Customize for your events

You can customize the site so that it works on your events. Please see backend on how to create your own fetch events script and frontend on how to customize site's metadata and Google Analytics.


Here is an instruction on how to use the web application:

  1. See upcoming events on the main page, search for anything you are interested


  2. Select events by clicking the star icon


  3. See recommendation based on your selected events


Core members

and contributors


This project is sponsored by Department of Bioengineering at the University of Pennsylvania thanks to professor David Meaney and professor Konrad Kording.


We are welcome to all contribution. If you spot any errors, incomplete events or missing events on the web application, please feel free to report them on the issue page.

You can’t perform that action at this time.