Inspiration

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

Backend: https://github.com/hackthenorth2020/mntr-backend/

Hosted API to use directly with postman: https://htn-backend-clkzwj32zq-nn.a.run.app

Frontend Code + URI

Frontend: https://github.com/hackthenorth2020/vue-firebase

Hosted Frontend: https://mntr-frontend-clkzwj32zq-ue.a.run.app/ [no compatibility guarentee]

Database Code

All SQL Queries Used: https://github.com/hackthenorth2020/mntr-backend/blob/main/profiles/sql.go

Endpoints

Endpoints on our Postman Collection: https://www.getpostman.com/collections/ace13af8832f96d70044

authMiddleware => require JavaScript Web Token (JWT), generated on the front end (use test tab to print the token)

    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)

Slides

https://docs.google.com/presentation/d/1NC6HXCCFvfP2MnokoVuvzp-UsZsezP2gp34y7JQDrGw/edit?usp=sharing

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

Built With

Share this project:

Updates