Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ RepoVerse

A Full Stack Version Control System built with the MERN Stack and a Custom Command-Line Interface

RepoVerse is a full-stack version control platform inspired by modern distributed version control systems. It enables developers to create and manage repositories, track commits, report issues, and interact with repositories through both a responsive web application and a custom Node.js CLI.

The project demonstrates concepts such as repository management, snapshot-based version control, authentication, REST APIs, and command-line application development.


🌐 Live Demo

πŸ–₯️ Frontend

πŸ”— https://repo-verse-two.vercel.app

βš™οΈ Backend API

πŸ”— https://repoverse-backend-3xit.onrender.com


πŸ“¦ Repository Components

RepoVerse is organized into three independent yet interconnected applications, each responsible for a specific part of the system.

Component Description
🌐 Frontend A React.js web application for repository management, issue tracking, commit history, and user account management.
βš™οΈ Backend A Node.js & Express.js REST API that handles authentication, repositories, commits, issues, and database operations.
πŸ’» CLI A custom Node.js command-line interface that allows developers to manage repositories directly from the terminal.

Each component has its own dedicated documentation and can be developed independently while communicating through REST APIs.


✨ Features

🌐 Web Application

  • User Registration & Login
  • JWT Authentication
  • Public & Private Repositories
  • Repository Dashboard
  • Repository Details
  • Commit History
  • Issue Management
  • User Profile
  • Account Settings
  • Responsive Interface

πŸ’» Command-Line Interface

  • Initialize Local Repository
  • User Authentication
  • Stage Files
  • Create Local Commits
  • Push Repository Snapshots
  • Pull Latest Snapshot
  • Clone Public Repositories
  • Restore Previous Commits
  • Colored Terminal Output

πŸ› οΈ Tech Stack

Frontend

  • React.js
  • Vite
  • React Router DOM
  • Axios
  • React Hot Toast
  • CSS3

Backend

  • Node.js
  • Express.js
  • MongoDB Atlas
  • Mongoose
  • JWT Authentication
  • bcryptjs
  • Multer
  • Morgan
  • CORS

CLI

  • Node.js
  • Commander.js
  • Axios
  • Chalk
  • Archiver
  • Extract-Zip
  • UUID

πŸ—οΈ System Architecture

                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚     React Frontend   β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               β”‚
                    REST API Requests
                               β”‚
                               β–Ό
                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚ Node.js + Express API  β”‚
                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
          β”‚                  β”‚                  β”‚
          β–Ό                  β–Ό                  β–Ό
 Authentication      Repository APIs     Commit & Issue APIs
                             β”‚
                             β–Ό
                      MongoDB Atlas
                             β–²
                             β”‚
                    RepoVerse CLI

πŸ“Έ Frontend Preview

🏠 Landing Page

Landing


πŸ“Š Dashboard

Dashboard


πŸ“ Repository Details

Repository


🐞 Issue Management

Issues


πŸ‘€ Profile

Profile


βš™οΈ Settings

Settings


πŸ’» CLI Preview

Initialize Repository

Init


Login

Login


Stage Files

Add


Create Commit

Commit


View Commit History

Log


Push Commit

Push


Clone Repository

Clone


Pull Latest Snapshot

Pull


Restore Previous Commit

Revert


πŸ“ Repository Structure

RepoVerse/
β”‚
β”œβ”€β”€ backend/              # Express.js REST API
β”œβ”€β”€ frontend/             # React Web Application
β”œβ”€β”€ cli/                  # Custom Node.js CLI
β”‚
β”œβ”€β”€ assets/
β”‚   β”œβ”€β”€ frontend/
β”‚   └── cli/
β”‚
β”œβ”€β”€ README.md
└── DEVELOPER_GUIDE.md

πŸ“Œ Future Scope

  • Branch Support
  • Pull Requests
  • Repository Collaborators
  • Commit Difference Viewer
  • Repository Search
  • Activity Timeline
  • Notifications
  • Repository Stars
  • Cloud File Storage
  • Dark Mode

πŸ‘¨β€πŸ’» Author

Manasvi Patidar

RepoVerse is developed as a full-stack project to explore distributed version control concepts, REST API development, authentication, repository management, issue tracking, and command-line application development using the MERN stack and Node.js.

About

Full Stack Version Control System with Repository Management, Commit Tracking, Issue Management, and Custom CLI built using MERN Stack.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors