Inspiration

During the ongoing pandemic, stores have often seen large lines of customers. This poses a risk to the health of workers and customers alike. As such, we sought a solution that would allow people to go wherever they need to and also ensure their safety.

What it does

Planavator is a web-application designed to organize your day to day schedules while maintaining social distancing protocols. Consumers can input what places they need to go for the day and Planavator will output a schedule, that ensures the consumer will get to where they wish to be, but in a way that does no jeopardize their safety.

How I built it

Taking a look into the backend written in java, we take input from the website and using our main method, each “event” will be made into an object using the “event” class with 6 class variables, name, location, length, priority, and the start and end of the peak times that we want to avoid. The peak times of each event are found by using a scraping tool on google map. In the main class, we run a greedy algorithm, first sorting the event objects by their priority level. This allows us to focus on the most important events first in order to ensure them a spot in the schedule. Given a block of time for which the user is free, a set is created and filled with integer values of each whole hour in that time frame. The algorithm then runs through every event starting from the highest priority and tries to find a time block of the length of the event, and then removes those hours from the set. From this approach, it is possible that some events won’t have time in the schedule, which the algorithm will decide that it is not safe to complete today. This information will then be linked to the front end (our website). From the front end, we created a website. We used a Wix platform and altered the HTML code wherever we saw fit. There was an emphasis on using a clean modern design to create visual appeal that would be crucial for attracting clients.

Challenges I ran into

A large challenge our team faced was extracting the Google Places data that showed the "Popular Times" of each location. It was very difficult to program a scrapping tool from scratch especially given the short time frame of this project. Instead of building this tool ourselves, we found an open source Google Maps scrapping program that extracted the most popular times from a location on Google Maps. However, the output contained much more information than we needed. As well, the scrapping tool was written in Java while our algorithm was written in Python. To ameliorate this problem, we created a Python program that filtered the output and recorded the data onto a text file, which would be readable by our Java algorithm. Unfortunately, we ran out of time and were not able to fully integrate these two programs. The next stage in the development of Planavator would definitely be to read the Google Maps data into the algorithm.

Accomplishments that I'm proud of

Our team created an efficient greedy algorithm to build the most suitable schedule for clients. From the front end, clients were asked to input the priority of each event that day. The schedule was subsequently created around the tasks with the higher priorities; the algorithm would choose the time slot with the fewest customers for the location of the highest priority event. The event with second highest priority would be given the time slot with the fewest customer for that location that also does not conflict with the first event. This would continue until all events were added to the schedule. Our team was extremely proud of this solution because by prioritizing important events, we ensured that users can go to them by selecting the safest times. Users can ultimately decide not to attend lower priority events if they believe too many people are at that location during that timeslot however, the low priority nature means user's are not greatly impacted

What I learned

Through this Hackathon experience, we had the pleasure of learning HTML code. With each member of the team well-versed in different coding languages, we took this opportunity to learn HTML in which we were able to apply this knowledge to our website.

What's next for Planavator

The next step for Planavator is to integrate the Java application into the front end website. We also want to get a domain to host the website to allow individuals with busy lives to use our service to protect themselves during this challenging time.

Share this project:

Updates