A GitHub-like version control system built from scratch using the MERN stack.
CodeVault allows users to create repositories, manage files, follow users, and track project activity.
- User signup & login (JWT-based)
- Protected routes
- Persistent login using localStorage
- Profile page
- Follow / unfollow users
- Followers & following count
- Create repositories (public/private)
- View repositories
- Explore repositories from other users
- Upload and fetch repository files (via AWS S3)
- View file content
- Latest commit file listing
- Implemented basic VCS commands:
- init
- add
- commit
- push
- pull
- revert
- GitHub-inspired UI
- Dark theme
- Tailwind + custom CSS
- Responsive layout
- React.js (Vite)
- React Router
- Axios
- Tailwind CSS
- Node.js
- Express.js
- MongoDB + Mongoose
- JWT Authentication
- AWS S3 (file storage)
backend/
controllers/
routes/
models/
middleware/
config/
frontend/
src/
components/
pages/
git clone https://github.com/your-username/your-repo-name.git
cd CodeVaultcd backend
npm installCreate a .env file inside backend:
PORT=3000
MONGO_URI=your_mongodb_url
JWT_SECRET=your_secret_key
AWS_ACCESS_KEY=your_key
AWS_SECRET_KEY=your_secret
AWS_BUCKET_NAME=your_bucket
Run backend:
npm startcd frontend
npm install
npm run dev- ⭐ Star repositories
- 💬 Comments / Issues system
- 🧾 Commit history UI
- 🔔 Notifications
- 🧑🤝🧑 Collaboration (multi-user repositories)
Add screenshots here
- Aayush Raj
This project is built for learning purposes to understand how GitHub-like systems work internally.