Being a freelancer and a hobbyist, most of my side-projects get thrown out because either I spend too much time trying to find the perfect solution or loosing interest in it. I wanted to find local developers in my area who had the some experience in the stack I was working on. But finding them was hard. So, this project solves that by displaying your repository to people in your area for help.
What it does
It takes the list of repositories you own, and displays it to other users. They can either swipe right to accept and become a mentor or swipe left and reject the repository. If a person agrees to mentor, their details will be shared to the repository owner and vice-vera.
How I built it
We built this project in two parts. The frontend (client) and the backend. Frontend is made using ReactJS and Zeit-UI. All the data is fetched from the backend using Axios in the frontend.
Backend is made using Nodejs, express and mongodb. For getting data from github and authenticate, we used PassportJS. Data fetched from Github is processed and saved into mongo db.
We also used lodash in the backend to work with complicated JSON manipulation, sorting and filtering.
Challenges I ran into
Integrating the whole backend with the frontend via an API was the biggest challenge. Setting up states, authenticating each request with the obtained JWT token and then logging them out if the token is invalid and all other stuffs related to it was mind-boggling.
Accomplishments that I'm proud of
Completed the whole backend login in just three to four hours. Integrated github and found a way to get data from it without using their GraphQL api.
What's next for GitMeet
We will continue developing and make out some custom algorithm that sorts out best repositories that match a mentor's experience in a language and/or framework. Notifications, chat messages and more.