MyGit is a lightweight, user-friendly Git alternative that simplifies repository management with essential Git-like functionalities, offering an intuitive CLI interface and seamless cloud integration.
- 🗂 Version Control Made Easy: Supports essential Git operations like
add
,stage
,commit
,push
,pull
, andrevert
. - ☁️ Cloud Integration: Secure file storage and retrieval with AWS S3.
- 📜 RESTful API: Exposes endpoints for core Git functionalities.
- 🔐 Secure Storage: Ensures data integrity and accessibility.
- 🖥 CLI Interface: Simplifies repository management with intuitive commands.
- Backend: Node.js, Express.js
- Database: MongoDB
- Storage: AWS S3
- API: RESTful architecture
- Authentication: JWT-based security
mygit/
│── backend/
│ ├── models/ # Database schemas
│ ├── routes/ # API routes
│ ├── controllers/ # Business logic
│ ├── cli/ # Command-line interface logic
│ ├── storage/ # AWS S3 integration
│ ├── server.js # Entry point
│
│── README.md
- Node.js & npm
- MongoDB
- AWS S3 Bucket
- Clone the repository
git clone https://github.com/hirux06/mygit_backend.git cd mygit
- Install dependencies
cd backend && npm install
- Set up environment variables (Create a
.env
file in the backend)MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_secret_key AWS_ACCESS_KEY=your_aws_access_key AWS_SECRET_KEY=your_aws_secret_key AWS_BUCKET_NAME=your_bucket_name
- Run the backend server
cd backend npm start
- Start using MyGit CLI
index.js <command and argument goes here>
index.js init
node index.js add file.txt
node index.js commit -m "Initial commit"
- 🌍 Multi-cloud storage support (Google Drive, Dropbox)
- 📢 Notifications for repository updates
- 💡 AI-powered commit message suggestions
This project is licensed under the MIT License.
Pull requests are welcome! For major changes, open an issue first to discuss improvements.
For inquiries, reach out to Saran Hiruthik at [email protected] or connect via LinkedIn.