Connecting developers, building projects.
GitMatches is a platform designed to help developers collaborate on open-source projects by intelligently matching them based on GitHub activity, skills, and experience as well as their resume data. Whether you're looking to join a project, find contributors for your own, or grow your network of fellow programmers, GitMatches makes it easier than ever to build meaningful connections in the dev community.
Please have nodejs and npm installed.
Once you have the code of the project ready, install the nodejs dependencies with npm i
If you are using MacOS or Linux, you will need to install poppler before running this project. You can install this with the following command(s) depending on your platform:
- Linux (Ubuntu/Debian):
sudo apt-get install poppler-data poppler-utils - MacOS (Homebrew):
brew install poppler
This will allow you to populate your database with realistic data to emulate real-world use of this website.
Once your mongodb database is up and running, create a database with the name CS546_Group1_gitMatches and initial collection users.
After this is done, you can run npm run seed, which will populate the database.
Once all of the project dependencies are set up (and mongodb is running), you can start the project with npm start
-
🔍 GitHub & Resume Matching:
Scan your GitHub profile and resume to generate personalized tags, such as your most-used programming languages and tools. -
🧠 Smart Project Recommendations:
Get matched with projects based on your skills, tags, and experience. -
📄 Project Posts Page:
Browse open-source projects, see detailed descriptions, and request to join. -
👥 Profile Pages:
Show off your projects, GitHub highlights, skills, and earned achievements. -
🤝 Collaborator Requests:
Send join requests to project owners—just like LinkedIn connect requests—and get notified when accepted or rejected. -
📨 Friend System:
Add friends and build a professional network of coders and collaborators. -
🏆 Achievements:
Unlock badges for milestones like number of joined projects or friends added. -
🔔 Notifications Page:
Keep track of join requests, post activity, and social updates.
-
💬 Direct Messaging:
Chat directly with your collaborators and friends. -
📢 Social Feed:
Post updates, share wins, and engage with your network. -
🧠 Integrating Kaggle Data Pull more data for stronger skill typing on profiles.
- Frontend: HTML/CSS, JavaScript, Handlebars.js
- Backend: Node.js, Express.js
- Database: MongoDB
- APIs: GitHub REST API
- Others: Custom Resume Parser (for skill extraction)
- Nelson Bermeo
- Anna Hauk
- Benicio Hernandez
- Christopher Kalish
- Zakariyya Scavotto