What if we say, you all you need to seek assistance, is to be able to create an issue on a repository. Yeah, forget about, logging into an application, onboarding, choosing a mentor, getting an email asking for assistance, etc. Yeah, it is great but we can make it smooth. That is exactly what unblock seeks to achieve. Create an issue and make the process of seeking technical assistance smooth.
What it does
Unblock is a Github bot that assists MLH fellows to request technical assistance from Mentors on a blocker. A fellow creates an issue and provides brief information on the technical challenge. Then gets a meeting scheduled to be assisted. UnblockMe also provides a web application for MLH Mentors to be added for fellows to schedule meetings with Mentors.
How we built it
We used Probot for building the Github Bot for the Github interactions, Calendar API for calendar access on the web application to implement the scheduling, NodeMailer for implementing the emails, Github API and Passport for authentication, NodeJS for the backend of the web application, and React for the Frontend of the web application.
Challenges we ran into
Initially, we had issues setting up the Github application. we eventually settled on Probot and quickly familiarized ourselves to get up and running with the bot. However, the biggest challenges came from setting up the calendar API together with Firebase in the application. We had challenges navigating the Calendar API docs to appreciate its use and suit our needs. We had to rescind our decision to use Firebase as a result of that. We ran into authentication issues with Github API, However, we quickly learned the technologies we chose to use and made changes where necessary to get the application up and running.
Accomplishments that we're proud of
This was our first time building a GitHub bot, working with the calendar API, integrating calendar API and firebase in an application and it was an amazing experience.
What we learned
We interacted with the Github API, Google Calendar API, Probot, Firebase, it was fun learning all the new technologues.
What's next for UnblockMe
One idea we had is to make publish the application and deploy the web application for it to be used, extend the features of the application by logging the status of a technical request in a separate channel. Since request info comes with repository and blocker details, other colleagues can assist as well.
- Calendar API
- Github API
- React js