A full-stack MERN application that helps developers discover open-source GitHub repositories to contribute to β based on their skills and preferences.
- π User Authentication (JWT)
- π§ Skill-based GitHub project recommendations
- π₯ Bookmark/Save your favorite repos
- π Personalized Profile with saved projects
- π GitHub API integrated backend (server-side search)
- π Modern UI with glassmorphism & animations (Framer Motion)
- π Real-time dashboard + feature sections
| Frontend | Backend | Database | Others |
|---|---|---|---|
| React.js (Vite) | Node.js + Express | MongoDB (Mongoose) | GitHub API, JWT, Axios, TailwindCSS |
.
βββ client
β βββ src
β β βββ pages/ # Splash, Login, Register, Dashboard
β β βββ components/ # Navbar, Footer, Cards, etc.
β β βββ context/ # AuthContext
β β βββ App.jsx
β βββ index.html
βββ server
βββ models/ # User, Bookmark
βββ controllers/ # authController, githubController, bookmarkController
βββ routes/ # authRoutes, githubRoutes, bookmarkRoutes
βββ middleware/ # authMiddleware.js
βββ server.js
# 1. Clone the repository
git clone https://github.com/yourusername/OpenSourceMatch.git
cd OpenSourceMatch
# 2. Setup Backend
cd server
npm install
touch .env
### .env file:
MONGO_URI=your_mongo_connection_string
JWT_SECRET=your_secret_key
PORT=5000
# Run
npm run dev
# 3. Setup Frontend
cd client<br>
npm install<br>
npm run dev<br>
Visit: http://localhost:5173
#π Environment Variables
MONGO_URI β MongoDB connection string<br>
JWT_SECRET β JWT secret for authentication<br>
PORT β Express server port (default: 5000)<br>
#β¨ Credits Made with by Siddhi Nagapure
