My teammates and I attending the MLH prehackathon which was in December. Here, we heard Drew, an Alexa engineer, speak about the potential projects that could be build using the Amazon libraries and SDK. We thought to ourselves, we hate visiting the dining hall page to see what's good to eat, there are many fantastic web scraping tools online to aggregate data, and Alexa makes it easier than anything to get information fast without even moving. So, we set out to develop this application in order to provide accurate dining hall information, fast.
What it does
This application prompts you to ask about which dining hall you wish to know about. Based off of what it is told, it responds with the corresponding data for that dining hall and the meal you wish to hear about.
How we built it
We used BeautifulSoup to scrape the webpage by targeting unique class id's. Then we integrated the library with a python script that parsed the collected data into corresponding dining halls and meals, and sent the data and information to the Amazon s3 database. From there, we pulled the data from the buckets in the database, and had Alexa respond with the appropriate information.
Challenges we ran into
It was difficult setting up AWS with multiple team members due to the large number of permissions required for developers. Partitioning the data into subcategories (breakfast, lunch, dinner, and at select dining halls, late night) was also difficult because of the structure of the website. We also had a tough time pulling the data from the s3 buckets and integrating them into our Alexa lambda function.
Accomplishments that we're proud of
We were able to scrape the website for data at almost 100% accuracy. We also taught ourselves how to use AWS proficiently and build Alexa applications using the SDK in two days.
What we learned
Web Scraping, databasing functionalities, developing lambda functions and more were all some of the things we learned from CruzHacks.
What's next for UCSC Dining Hall Alexa
We hope to continue building upon the application in order to gain more traction with users, and hopefully be recognized by our school as a legitimate accurate representation of the dining hall menus. We also hope to make the app more specific in the future to users in a personal way.