Inspiration
As UC Davis, we found repeating a lot of same actions everyday on our phones. While most of these were fairly simple tasks worked fairly well, one of the must frustrating tasks we thought had to deal with was checking the Dining Common's website for their menu. It felt very repetitive to open a browser to check the menu. Additionally, the website requires a decent amount of badnwidth, which is not always available at peak times on a busy campus such as UC Davis. Often times, the website would take up to a minute to load, and this could be very annoying. So, we decided to solve this problem.
What it does
Inititally, our daily digest was to include the menus for the day, but soon realized that this was not very practical, and students could actually use more than just menus. So, our daily digest send students a text message every morning with the following items: the weather, a motivational quote, a joke of the day, and their chosen DC's breakfast menu. Lunch and Dinner menus are sent later one hour before the meal starts. Each student gets their own profile and chooses which items they would like notifications for. They can choose to only receive a motivational quote a day if they would like. Students can also request menus on demand at any time during the day for any meal and any DC. All of this interaction is done by texting the phone number: (669) 222-7707
How we built it
We used python to build our application. We also used TextNow's API to handle all of the reading and sending of information. In terms of the information, the weather was pulled from OpenWeatherMap using their API, the menu items were webscraped from DCs' websites, and the quotes and jokes were taken from open-source lists on GitHub.
Challenges we ran into
We actually just learned webscraping today. It was a challenging, yet rewarding endeavor. It took some time to learn how to read through all of the html, but we figured it out, and are very happy with our results. We also tried out best to implement the Twilio API instead of the TextNow API, but could not work it out due to our lack of prior knowledge on Flask and Webhooks.
Accomplishments that we're proud of
We are proud of our ability to learn and implement webscraping so quickly. We are also proud of the variety of inputs our server side can handle and respond too. Our profile system is also is something we thought was well done.
What we learned
The only prior knowledge we came in with was general application of Python, and a little bit of former use of the TextNow API. Everything else we worked this past day was learned here, which includes WebScraping, responding to user inputs, the OpenWeatherMap API, and creating "profiles" in separate text files.
What's next for The UCD Freshman Daily Digest
Our next big goal is to migrate this onto a mobile app for ease of use, and to add additional features such as live Unitrans tracking, crime alerts, food truck schedules, and any other information students would like in a centralized location.
Built With
- openweathermap
- python
- textnow
- webscraping
Log in or sign up for Devpost to join the conversation.