Skip to content

Ankita15k/GitNest

GitNest Logo

GitNest - Lightweight Collaborative Code Hosting Platform

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.

Live Demo Documentation Report Bug Request Feature

version PRs Welcome Repo_Size MIT License MERN Stack

Visitors

Open Source Love svg1 GitHub forks GitHub Repo stars GitHub contributors GitHub last commit Join Discord


⚑ Features

  • πŸ” 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

πŸ›  Engineering Stack

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

Current Project Structure

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

Structure Overview

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.


πŸš€ Getting Started

Prerequisites

Make sure you have the following installed:

Installation

⭐ 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 GitNest

2. Set up environment variables

Backend env variables

cp backend/.env.example backend/.env

Open 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 start

Frontend (in a new terminal)

cd frontend && npm install && npm run dev

4. Open the app

Docker Setup (Recommended)

You can easily run the entire application (Frontend, Backend, MongoDB, Redis) using Docker.

  1. Ensure Docker Desktop is running.
  2. Run the following command in the root of the project:
    docker-compose up --build
  3. The application will be available at:

✨ Contributors - The People Behind GitNest ✨

A heartfelt Thanks to all the stellar developers who make GitNest better every day πŸ©΅πŸ’«

Contributors


🀝 Contributing

We love contributions! GitNest is a GSSoC 2026 project and welcomes developers of all experience levels.

Before you start:

  1. Read CONTRIBUTING.md carefully
  2. Check open issues β€” look for good first issue if you're new
  3. Comment on the issue you want to work on and wait for it to be assigned to you
  4. 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

About

A lightweight collaborative code hosting platform with repositories, commits, branching, and team workflows including AI-powered developer assistance.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages