A retro-styled, real-time network monitoring dashboard with interactive visualizations. Monitor TCP/UDP hosts with a vintage terminal aesthetic featuring glowing LED indicators, scanlines, and authentic CRT effects.
- Real-Time Host Monitoring: Continuously checks TCP/UDP hosts for availability
- Retro Terminal UI: Authentic vintage computer terminal aesthetics with glowing green text
- Visual Status Indicators: LED indicators with radar-like pulse effects on status updates
- Drag-and-Drop Interface: Rearrange host boxes for custom dashboard layouts
- Configurable Checks: Set custom check intervals and failure thresholds
- Protocol Support: Monitor both TCP and UDP services
- Node.js (v14 or higher)
- npm or yarn
-
Clone the repository:
git clone https://github.com/your-username/mission-control.git cd mission-control -
Install backend dependencies:
npm install
-
Install frontend dependencies:
cd src/frontend npm install cd ../..
-
Start the backend server:
npm run dev
The backend API will be available at
http://localhost:3000 -
In a separate terminal, start the frontend:
cd src/frontend npm startThe dashboard will open in your browser at
http://localhost:3001
- Build and run with Docker:
The application will be available at
docker-compose up --build
http://localhost:3000
-
Build the backend:
npm run build
-
Build the frontend:
cd src/frontend npm run build
GET /api/status- Server status checkGET /api/hosts- Get all monitored hosts and their statusesPOST /api/hosts- Add a new host to monitorDELETE /api/hosts/:id- Remove a host from monitoring
mission-control/
├── src/
│ ├── backend/
│ │ ├── index.ts # Main server entry point
│ │ ├── api/ # API route handlers
│ │ └── services/
│ │ ├── tcpChecker.ts # Host monitoring service
│ │ └── database.ts # Database service (planned)
│ └── frontend/
│ ├── src/
│ │ ├── App.tsx # Main application component
│ │ ├── components/
│ │ │ └── Canvas.tsx # Host visualization canvas
│ │ └── ...
│ └── ...
├── package.json # Backend dependencies
└── README.md
You can configure the initial hosts to monitor by modifying the src/backend/index.ts file.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- React Konva for canvas-based visualizations
- Styled Components for CSS-in-JS styling
- Express for the backend API

