Our team realised the importance of mentorship in young professionals. Currently, there are too many barriers for most people unless you are persistant or lucky enough to find a mentor by chance. For everyone else, there's mntr.tech
Backend Code + URI
Hosted API to use directly with postman: https://htn-backend-clkzwj32zq-nn.a.run.app
Frontend Code + URI
Hosted Frontend: https://mntr-frontend-clkzwj32zq-ue.a.run.app/ [no compatibility guarentee]
All SQL Queries Used: https://github.com/hackthenorth2020/mntr-backend/blob/main/profiles/sql.go
Endpoints on our Postman Collection: https://www.getpostman.com/collections/ace13af8832f96d70044
r.POST("/profiles", authMiddleware(), createProfile) r.GET("/profiles/:id", authMiddleware(), readProfile) r.PUT("/profiles", authMiddleware(), updateProfile) r.GET("/profiles", authMiddleware(), readAllProfiles) r.DELETE("/job", authMiddleware(), deleteJob) r.GET("/mentor", authMiddleware(), findMentors) r.POST("/mentor", authMiddleware(), requestMentor) r.DELETE("/mentor", authMiddleware(), deleteMentor) r.GET("/mentee", authMiddleware(), viewMentorRequests) r.POST("/mentee", authMiddleware(), handleMentorRequest) r.GET("/messages", authMiddleware(), getMessages) r.POST("/message", authMiddleware(), sendMessage)
What it does
MNTR is a flexible online medium supported by an advanced matching algorithm to get the best fit between mentors and mentees. It does however, still give the final say to the mentors & mentees for the selection process to preserve fairness and autonomy.
Our platform aims to take the uncomfortability and mystique out of finding and giving mentorship. It is an all in one peer to peer platform focused on providing guiance across all generations.
How we built it
Vue/nuxt.js on the front end, Go on the backend, firebase for auth, backend on google cloud run, database on cockroachcloud.
The Gin library is used extensively to handle the Go HTTP router. The Firebase Admin SDK allows the backend to validate the JWT Bearer token sent from the front end.
Challenges we ran into
Ideating to get the right solution, learning to code with the tech stack was a major issue as we had issues learning our stack and we often encountered errors with rendering or a faulty vue route which was a massive time sink.
Accomplishments that we're proud of
-Integrating firebase auth on both the frontend and the backend to secure our endpoints
-Implementing CockroachDB with a dozen tables and complex queries to provide rich functionality to users
-Leveraging a 3-tier architecture of the frontend (vue), backend (Go) and data (CockroachDB)
-Creating a platform that solves a real problem for real people
-Using a 3 stage Dockerfile on the backend with Go module caching :)
-Breaking CockroachDB on the first day with a circular unqiue index on a table
What we learned
Don't worry about the details, just hack
What's next for mntr.tech
Add the features we thought of, but didn't have time to finish