Inspiration

Our plan for this hackathon was to help make vaccine distribution more efficient. We found that individuals with pre-existing health conditions often have a difficult time registering for a vaccine, be it through finding a time that works with their schedule or simply not being able to compete with others that can afford to sign up as soon as the opportunity arises.

What it does

Because we only had 36 hours to complete the project, we divided the complexity of our project in stages:

  1. Low-Level: the front-end site and form with information about the vaccines, centers offering vaccines nearby, and a dashboard for users.
  2. Mid-Level: a working database that can link to the website, retrieve information from PA Health's public dataset of vaccine locations, and create new accounts for users.
  3. High-Level: an interactive site that allows people to be prioritized by the state's vaccine guidelines and ensures that the user can schedule appointments.

How we built it

We adapted strategies from agile development by devising our concept and then concurrently developing the front-end and back-end.

Conceptualization

We initially used our background in Information Systems to design a database, using Lucidcharts to create a basic ERD in Crow’s Foot notation that maps out relationships between entities like users, health conditions, vaccine providers, and insurance companies. We then moved our conceptual model into a physical model in Vertabelo to generate SQL scripts.

At the same time, our front-end team devised low-fidelity and mid-fidelity wireframes in Figma, using commercial-free stock photos from Pexels, creating a logo and color scheme, and creating the content for the website.

Implementation

The backend for the website is written in Python. Using Flask, we could render the HTML files and retrieve the input values from the HTML form. Then, using psycopg, we could connect to an instance of a PostgreSQL database on Google Cloud. We cleaned csv datasets from PA Health and added them to buckets in order to be imported into tables in our database. Currently, a user could enter their information on the website and it would automatically be inserted into the database through a SQL insert statement.

Our front-end site largely depended on Bootstrap for its easily implemented grid, with pages for general information, a form to log-in and insert general information, as well as our process.

Challenges we ran into

A major challenge we tackled was learning how to use Google Cloud and run the database for the site. We spent more than half of our time learning how to import the enormous datasets from PA Health and integrating it with PostgreSQL.

Accomplishments that we're proud of

Although we were not able to implement everything we wanted to do in our project, we had the opportunity to apply the skills we learned from our classes and had fun. We all learned new skills and worked together to create a great prototype, and fostered an amazing team dynamic.

What we learned

We found that taking time away from documentation and working out problems as a group greatly increased our productivity when learning new frameworks and cloud services, as well as how versatile databases and Python can really be.

What's next for The Vaccine Watch

Future features of the project would include more complex SQL queries, updates, and deletes, trying to classify a user’s risk level with machine learning, and using the collected data to direct them to a vaccine provider. We would also like to create a dashboard for users, improve the responsiveness of the site, and fully flesh out the concept with email and mobile notifications to users.

Share this project:

Updates