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.


