With the rise of the COVID-19 pandemic, it has become harder for people to go outdoors to run daily errands such as going to the grocery store or the pharmacy while keeping social distancing regulations in mind. The Center for Disease Control (CDC) has released a series of guidelines for the public and businesses to follow in order to prevent the spread of the disease and contamination. A crucial guideline is social distancing, where people maintain a physical distance of at least 6 feet from others to reduce the spread of the airborne disease. With businesses such as grocery stores and restaurants opening back up, people must keep social distancing regulations and store capacities in mind. However, it is difficult for people to see store occupancy limits or population density for social distancing. We wanted to build this project in order to inform people of the safest places to go to be able to maintain social distancing while retrieving their necessities.
What It Does
We designed an app called DiffuseMap using Radar.io’s Geofence and Places features to calculate the population density of stores and redirect users to stores with the lowest population density to encourage social distancing.
How We Built It
For this project, we used a combination of Python, HTML, and CSS. The back-end section of the project, which involved the actual analysis of the data, was done in Python. This was done using the IDE repl.it. The front-end work was done in HTML and CSS and was created on Glitch. We plan on combining both aspects of the project through Flask and React.
Within this program prototype, using python, we manually wrote out a csv file which would mimic that of radar.io. The file contains a description of the location, a tag (groceryStore, park, mall, pharmacy), an external ID as an identifier, and the number of users. We then used the pandas package to read the file and analyze the area with the lowest population density.
The biggest challenge we faced was figuring out the right way to store our data (dictionaries, lists, etc.) in order to analyze it and receive the outcome that we wanted. At first, we used only a dictionary to store the tag or type of place as the key and the number of users at that place as the value. However, we ended up realizing that it was necessary to create a list of the data for each tag and use a dictionary to index into it later on. Another difficulty we faced was connecting our python code to our webpage, but we ran out of time to complete this challenge.
We are proud of creating a prototype that demonstrates the basic foundations of our idea.
What We learned
We enhanced our creative minds and learned how to use our programming knowledge to build a solution for a real-world problem.
What's Next for DiffuseMap
- As of now, the zip code entered by the user and the mile radius are unable to be calculated through this program. However, in the future, we would like to implement it by making the program read through an online database which stores the latitudes and longitudes of zip codes across the U.S. We would then use the haversine formula to determine whether or not the distance between the users' current location and each possible destination stored in our geofence data is within the users desired mile radius.
- We would like to add a feature where users can select a risk-level which they are most comfortable with (in accordance with CDC guidelines)
- We would like to add many more geofences to make the program more accessible to users
- We would like to make the webpage accessible in the form of an app as well
- We would like to connect our back-end python code with our front-end code using React and Flask technologies.