Welcome to the VM Manager application! This app allows users to manage Virtual Machines (VMs) effortlessly through a user-friendly interface. Users can add, delete, and connect to VMs with ease.
- ➕ Add New VM: Add details for a new VM including name, domain, username, and password.
- ❌ Delete VM: Remove a VM from the list.
- 🔗 Connect to VM: Connect to a VM using RDP (Remote Desktop Protocol).
- 📢 Real-Time Notifications using React Toastify
- 🔒 Password Encryption using CryptoJS
Since directly connecting to a remote desktop using a web app poses security concerns, I've implemented a method to trigger batch commands for establishing RDP connections using Node.js. This ensures a secure and seamless connection process.
- Node.js: Ensure you have Node.js installed. Download from Node.js.
- npm: Node package manager is required to install dependencies.
-
Clone the repository:
git clone https://github.com/AkshayChandole/vm-manager.git cd vm-manager -
Install server dependencies:
cd vm-manager-server npm install -
Install client dependencies:
cd vm-manager-client npm install
- Start the server:
cd vm-manager-server npm run dev - Start the client:
cd vm-manager-client npm start - Open your browser and navigate to: - http://localhost:30000
`vm-manager/
├── vm-manager-server/
│ ├── config/
│ │ └── VMs.json
│ ├── routes/
│ │ └── vmRoutes.js
│ ├── utils/
│ │ └── fileUtils.js
│ ├── index.js
│ └── package.json
├── vm-manager-client/
│ ├── public/
│ │ └── index.html
│ ├── src/
│ │ ├── components/
│ │ │ ├── VMForm.js
│ │ │ ├── VMList.js
│ │ ├── services/
│ │ │ └── vmService.js
│ │ ├── App.js
│ │ ├── index.js
│ │ ├── App.css
│ └── package.json
├── .gitignore
└── README.md`
- GET /api/vms: Fetch all VMs.
- POST /api/vms: Add a new VM.
- DELETE /api/vms/:name: Delete a VM by name.
- POST /api/vms/connect: Connect to a VM.
- Frontend: React, React Toastify
- Backend: Node.js, Express
- Database: JSON file (for simplicity)
We welcome contributions! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature-branch). - Create a new Pull Request.
For any inquiries or feedback, please contact akshaychandole1234@gmail.com.


