A modern GitHub-inspired collaborative coding platform built with the MERN Stack.
Create repositories, browse code, manage issues, review pull requests, and collaborate seamlessly β all in one open-source platform.
- π Authentication β Register, login, JWT sessions, GitHub OAuth
- π Repository Management β Create, delete, fork, and star repos
- π² File Browser β Navigate repo tree, view files with syntax highlighting (Monaco Editor)
- π Issues & Pull Requests β Full issue tracker with labels, milestones, and comments
- π₯ User Profiles β Follow users, view activity feed, manage settings
- π Search β Search repos, users, and code
- π Real-time Notifications β Live updates via Socket.io
- π Dark Mode β Full dark/light theme support
| Layer | Component |
|---|---|
| Frontend | React 18, Vite, TailwindCSS, Zustand, React Query |
| Backend | Node.js, Express.js |
| Database | MongoDB + Mongoose |
| Cache | Redis |
| Real-time | Socket.io |
| Auth | JWT, bcrypt |
| Storage | Cloudinary, Supabase |
| DevOps | GitHub Actions |
GitNest/
β
βββ backend/
β βββ src/
β β βββ config/
β β βββ controllers/
β β βββ middlewares/
β β βββ models/
β β βββ routes/
β β βββ services/
β β βββ utils/
β β βββ validations/
β β βββ server.js
β β
β βββ package.json
β βββ Dockerfile
β βββ .gitignore
β
βββ frontend/
β βββ public/
β β
β βββ src/
β β βββ assets/
β β βββ components/
β β β βββ common/
β β β βββ layout/
β β β βββ ui/
β β β
β β βββ pages/
β β β βββ Auth/
β β β βββ Dashboard/
β β β βββ Profile/
β β β βββ NotFound/
β β β
β β βββ context/
β β βββ hooks/
β β βββ routes/
β β βββ services/
β β βββ utils/
β β βββ App.jsx
β β βββ main.jsx
β β
β βββ package.json
β βββ vite.config.js
β βββ Dockerfile
β βββ .gitignore
β
βββ .github/
β βββ workflows/
β βββ ci.yml
β
βββ docker-compose.yml
βββ README.md
βββ CONTRIBUTING.md
βββ CODE_OF_CONDUCT.md
βββ LICENSE
βββ .gitignore| Folder/File | Purpose |
|---|---|
backend/ |
Express + Node.js backend services |
frontend/ |
React + Vite frontend application |
controllers/ |
Handles request/response logic |
models/ |
Database schemas/models |
routes/ |
API route definitions |
middlewares/ |
Authentication & custom middleware |
services/ |
Business logic layer |
components/ |
Reusable frontend UI components |
pages/ |
Route-based frontend pages |
context/ |
Global state/auth management |
.github/workflows/ |
GitHub Actions CI/CD workflows |
docker-compose.yml |
Multi-container Docker setup |
*** For complete component documentation and examples, see frontend/src/components/COMPONENTS_DOCUMENTATION.md.
Make sure you have the following installed:
β Star The Repo
1. Fork and clone the repository
Fork this repo first using the Fork button above, then:
git clone https://github.com/<your-username>/gitnest.git
cd GitNest2. Set up environment variables
Backend env variables
cp backend/.env.example backend/.envOpen backend/.env and fill in your values
Frontend env variables
cp frontend/.env.example frontend/.env
Open frontend/.env and fill in your values
3. Install dependencies and run
Backend
cd backend && npm install && npm startFrontend (in a new terminal)
cd frontend && npm install && npm run dev
4. Open the app
- Frontend: http://localhost:5173
- Backend API: http://localhost:5000/api/v1
- Health check: http://localhost:5000/health
You can easily run the entire application (Frontend, Backend, MongoDB, Redis) using Docker.
- Ensure Docker Desktop is running.
- Run the following command in the root of the project:
docker-compose up --build
- The application will be available at:
- Frontend: http://localhost:5173
- Backend API: http://localhost:5000/api/v1
A heartfelt Thanks to all the stellar developers who make GitNest better every day π©΅π«
We love contributions! GitNest is a GSSoC 2026 project and welcomes developers of all experience levels.
Before you start:
- Read CONTRIBUTING.md carefully
- Check open issues β look for
good first issueif you're new - Comment on the issue you want to work on and wait for it to be assigned to you
- Don't submit PRs for unassigned issues β they may be closed
See CONTRIBUTING.md for full details on the workflow, coding standards, and commit message format.
π Create β’ Collaborate β’ Contribute π
Made with π for the Open Source Community