Our team was motivated to create a project we could put into practice to better our institution. We started with the simple question, what problems have you come across lately? Our small, liberal-arts institution has fewer technological resources and they are often not standardized. In a given semester, we may have 4 different professors who provide 4 different ways to schedule an appointment with them. Our hope is that our project is able to create a uniform way to get academic advising.
What it does
Our app is used to schedule appointments with academic advisors. The user only has to text the Twilio number with the professor’s name and the appointment time. The appointment is then confirmed in the professor’s google calendar.
How we built it
We use the Twilio APIs to send and receive text messages. In this system, the user must initiate the appointment making. We also used Google Firestore as our database. We have different professors, each of them is a document. We also have a collection of Day (which consists of all the information for professor’s office hours, locations and phone numbers)
Challenges we ran into
We ran into problems with querying from Firestore. Our main collection had several subcollections and it was difficult to figure out. We also did not identify the difference from snapshot and reference at first.
Accomplishments that we're proud of
We are proud of being able to integrate multiple APIs. No members of our team have used either Twilio or the Google Cloud Platform before LA Hacks and we are proud that we were able to leverage them effectively.
What we learned
We learned the difference between a snapshot and a reference. The former one just give a snapshot of what kind data is in database, the latter one has actual information we need to access the data. We also learned the the Python datetime function will return a number between 0 and 6 in which 0 represent Monday and 6 represent Sunday.
What's next for LA-Hacks
We would like to be able to do more condition checking and handle any errors that may arise when multiple people are attempted to interact with the server. Eventually, we hope that this system will become available for our institution.