Inspiration

We COVID-19 vaccine availability on the horizon, people will be traveling whether it is safe or not. We think it's important to reduce risk wherever necessary, and our project aids in doing so.

What it does

Given a starting airport and ending airport (using IATA codes), our website uses historical airplane connections, the airport's regional COVID-19 numbers, and the number of connections for the given airport to generate the lowest-risk routes from a start point to a destination.

How it works

We start by processing multiple stores of information to develop the graph used in determining the "safest" travel path. This is accomplished by first uploading a list of historical flight data prior to 2014 into a Firebase database along with the airports' locations using the airport's state's abbreviation. We then use a COVID tracking API to determine the airport's state's COVID-19 levels and, along with the number of connections of a given airport, determine the "cost" to visit said airport. From there, we simply run Dijkstra's algorithm on any two airports entered by the client and output the "safest" travel path(s) to our React front-end.

Challenges we ran into

We used multiple languages in our code stack, which is something none of us are familiar with. Additionally, this project was the first hackathon and first major use of git/github for most of our team, so we spent a lot of time troubleshooting our environments and learning how to use these new tools. For example, although a few of us had worked with Firebase in the past, we hadn't used Firebase in Python and we also hadn't specifically used Cloud Firestore. Additionally, we ran into a lot of trouble learning how to call APIs and parse JSON/CSV files.

Accomplishments that we are proud of

We are glad we ended up creating a working solution and we think it's really neat that we were able to register our own domain for this project. We also are proud that we were able to apply a concept we learned in class directly to a real-world application.

What we learned

The biggest things we learned are how to set up a multi-language environment and how to connect to an API in Python, Node.JS, and Java.

What's next for Planedemic

We have a lot of future improvements in mind. For one, we want to make our website look much nicer on the front-end, and we have a lot of code clean-up to do on the backend. Also, at the moment, we are using COVID numbers somewhat arbitrarily (multiplying the cases for the airport's state by the number of airports it connects to and some constant factor) so we plan to find literature on the topic and implement other factors like the airport's traffic (which we generalized to correlate with the number of airports it connects to for now) and the number of people on the flight ./ duration of the flight, as well as using real future flight data rather than past flights. We also in the future want to make sure our product works for international airports-- we have the airport data, but not the COVID data, so our current solution only works for U.S. domestic airports.

Share this project:

Updates