Many students at WPI use a service called when2meet.com to determine the best time for group meetings. However, this service requires you to fill out your availability manually each time. For an organized student like Darren who already has his entire schedule in Outlook calendar, this repetition seems tedious and unnecessary. However, not every student at WPI uses Outlook, which means that the solution can't be to just use the Outlook scheduling tools; there is still a space for manual availability input.
What it does
Our idea was to make the best of both worlds; to integrate Outlook calendar into when2meet so that users who already have their schedules in Outlook don't have to re-enter their availability and users who prefer to manually enter are able to do so also.
How we built it
We started with the Microsoft Graph API and their sample Node.js project. This API allows users to login with their Microsoft account and for us to access their calendar information. Building off of the sample code, we were able to take the event data from a user and store it in an SQL database, which was running off of CockroachDB. From here, we wanted to take that data from the database and present it to the frontend so that the user could visualize the availability of all of the group members, however we were unable to get that working.
Challenges we ran into
With only one member on our team having significant experience with Node.js, hbs and database systems, we had a teacher-students dynamic going on most of the time. This was a challenge for our overall progress, and it was difficult for the newbies to work without pestering our experienced member with questions. Some particular challenges were interfacing with the Graph API and figuring out how calendar data was being stored, parsing that data, as well as passing that data back and forth between the front and backends.
Accomplishments that we're proud of
Having a product that doesn't crash and has at least a few features we originally set out to create, as our first hackathon and project that utilized many new tools for most of the members on our team.
What we learned
With our teacher-students dynamic on the team, the students definitely learned a lot of general knowledge in a short period of time. Concepts like GET and POST requests, the creation of buttons and layouts in hbs, the basics of Node.js, using Git, and the basic structure and functionality of database systems were mostly foreign, but are now somewhat familiar.
What's next for Scheduling Assistant
Implementing all of the features we set out to implement. Some future plans might include the ability to create an Outlook event after the most optimal time is found or creating a web browser extension that allows us to use the currently established when2meet.com.
Log in or sign up for Devpost to join the conversation.