Inspiration
MCIT Mentoring Program has not only helped first-year students acclimate to Penn and navigate through their first year in MCIT but also strengthened the connection between first-year and second-year students. To continue the mentorship program in future years, we wanted to build a web application that would simplify and streamline the mentor-mentee pairing process. Instead of using separate google forms for signing up, collecting information, and manually reading through the responses to pair up mentors and mentees, our web application will enable users to sign up, run a matching algorithm to match mentor-mentee pairs, and connect them!
What it does
pennTor is a full-stack web application that allows MCIT students to sign up as mentors/mentees for the MCIT Mentorship Program. Students will fill out a short questionnaire providing information such as background, interests, preferred mentorship, etc. An admin will then be able to run a matching algorithm that automatically sets up an optimal mentor-mentee match. Then, an email notification will be automatically sent out to each mentor-mentee pair to connect them. All within just a few clicks!
How we built it
Our stack uses React, Node.js, Express, and MySQL. Our web app is hosted on Heroku and our database is hosted on AWS. We also used a third-party API SendGrid to automatically send out emails.
Challenges we ran into
- First time using React, understanding of the React framework (e.g. components and JSX)
- Getting familiar with HTML/CSS/JavaScript in a short period
- Understanding the backend functionalities, how it is connected to the frontend and our database
- Figuring out the questionnaire, quantifying user’s responses, calculating aggregate similarity scores
- Exploring, determining, and eventually implementing a suitable matching algorithm
- Reading through third-party API documents (SendGrid) to implement the service
- Learning more about git/github, merging conflicts and reversing wrong pull/push
Accomplishments that we're proud of
- We’re proud that we were able to take our entire project from ideation to implementation, resulting in a fully functioning, full-stack web application that accomplishes the goals that we set out to achieve.
- Mentor-mentee matching algorithm that works!
- Coordinate, collaborate, and learn as a team while working from home
What we learned
We learned a lot about full-stack web development - how to code in JavaScript, develop API with Node.js, create a database with AWS/MySQL, utilize external API services, and deploy remotely on Heroku. We also learned how to apply the stable-marriage matching algorithm to make our auto mentor-mentee pairing up work!
What's next for pennTor
- Refine our criteria for optimal matching such as including personality or years of work
- Improve our matching algorithm to account for unequal numbers of mentors and mentees and sign-up at different timing
- Make our web page responsive
Log in or sign up for Devpost to join the conversation.