- Add package.json for project metadata and dependencies - Create server.js for API endpoints and server logic - Implement data persistence using JSON file for server information - Add HTML frontend (vps_manager.html) for server management interface - Include Leaflet for map visualization of server locations - Create start.bat for easy server startup on Windows
25 lines
985 B
Markdown
25 lines
985 B
Markdown
# Project Anatomy: vps-manager
|
|
|
|
## Purpose
|
|
Single-page VPS fleet tracker — add/edit/delete servers with specs, IPs, cost, status.
|
|
|
|
## Files
|
|
- `vps_manager.html` — full UI (vanilla JS, IBM Plex font, dark GitHub-style theme)
|
|
- `server.js` — Express server; serves static files + REST API; binds 0.0.0.0:8080
|
|
- `package.json` — express ^4.18.2 dependency
|
|
- `start.bat` — double-click launcher for Windows
|
|
- `data/servers.json` — persistent JSON storage (auto-created on first run)
|
|
- `node_modules/` — npm dependencies
|
|
|
|
## API
|
|
- GET /api/servers → array of server objects
|
|
- POST /api/servers → upsert server (id present = update, absent = create)
|
|
- DELETE /api/servers/:id → remove server
|
|
|
|
## Data Shape
|
|
```json
|
|
{ "id": "srv_<timestamp>", "name": "", "status": "online|offline|maintenance",
|
|
"ipv4": "", "ipv6": "", "provider": "", "plan": "", "cpu": "", "ram": "",
|
|
"disk": "", "price": "", "location": "", "region": "", "sites": "", "notes": "" }
|
|
```
|