We've been getting quite a few emails letting us know about covid cases either in a section of a course we attend, or that someone on our floor has tested positive. However, UMD is vague with regards to the amount of contact you had with the person, with instances where someone was in a ~20 person class, in a small classroom with the person, considered as "not close contact"
What it does
CCTUMD plots paths of students with positive tests, which can be used to see in which classes transmission occurred, and encourage others in these classes to get tested, in case they are asymptomatic but still infectious.
How we built it
Student schedules were generated by first generating a list of courses from a number of selected departments at UMD, to reduce the amount of data that we'd be processing. Then, section info was grabbed from the student-built umd.io API, providing us with course meeting times and locations with which we could generate our paths. The paths are Mapbox routes, showing movements between days/classes, which are then plotted on a campus map. These displayed paths allow users to find the places where the virus may have been spread at points of convergence.
Challenges we ran into
API rate limits meant that dynamically generating the data for sections of courses was infeasible, so we used larger requests to get a few hundred sections at a time, then put that into a JSON file we were able to access from our other files. In addition to this, using a library that doesn't natively support React.JS means that interacting with mapboxJS was more difficult than usual. Another challenge we had was with Twilio. The automatically generated ngrok tunnel connecting the localhost to a public url was not working, so we had to manually install ngrok and set up the connection ourselves.
Accomplishments that we're proud of
Schedule generation is done in a way that gets a diverse set of courses, making our generated schedules as realistic as possible, pulling from across multiple departments at UMD. The Twilio messaging service was a good use of what we had available to us and has potential to improve safety across campus.
What's next for CCTUMD
Use class sizes to better determine risk levels, especially for smaller classes.