https://github.com/yash1hingu/fleet_monitoring
Real-time dashboard to monitor robots' status, telemetry, and location with WebSockets and maps.
https://github.com/yash1hingu/fleet_monitoring
fastapi python reactjs uvicorn websocket
Last synced: 2 months ago
JSON representation
Real-time dashboard to monitor robots' status, telemetry, and location with WebSockets and maps.
- Host: GitHub
- URL: https://github.com/yash1hingu/fleet_monitoring
- Owner: Yash1Hingu
- Created: 2024-12-14T08:24:40.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-14T10:50:32.000Z (over 1 year ago)
- Last Synced: 2024-12-25T18:14:59.104Z (over 1 year ago)
- Topics: fastapi, python, reactjs, uvicorn, websocket
- Language: JavaScript
- Homepage: https://fleet-monitoring-two.vercel.app
- Size: 1.44 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π€ **Fleet Monitoring Dashboard**
π A powerful **real-time dashboard** to monitor and visualize the status and telemetry data of multiple robots. Perfect for tracking locations, resource usage, and performance in one place!
---
## π οΈ **Features**
- π **Robot List**: View details for up to 10 robots:
- Robot ID (UUID)
- Online/Offline status
- Battery percentage π
- CPU usage π»
- RAM consumption π§
- Last updated timestamp β²οΈ
- Location coordinates π
- π **Real-Time Updates**:
- Updates every 5 seconds via **WebSockets** or periodic polling.
- πΊοΈ **Map View**:
- Visualize robots' current positions using **Leaflet.js** or **Mapbox**.
- β οΈ **Alerts**:
- Highlight robots that are offline or have a low battery (<20%).
---
## π§© **Tech Stack**
### Backend π₯οΈ
- **Framework**: [FastAPI](https://fastapi.tiangolo.com) or [Flask](https://flask.palletsprojects.com)
- **Simulated Data**: Mock telemetry data generated for up to 10 robots.
### Frontend π
- **Framework**: [React.js](https://react.dev)
- **Map Library**: [Leaflet.js](https://leafletjs.com)
---
## π **Getting Started**
Follow these steps to run the application on your local system:
### 1οΈβ£ **Clone the Repository**
```bash
git clone https://github.com/yourusername/robot-dashboard.git
cd robot-dashboard
```
### 2οΈβ£ **Backend Setup**
1. Navigate to the `backend` folder:
```bash
cd backend
```
2. Create and activate a virtual environment:
```bash
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```
3. Install dependencies:
```bash
pip install -r requirements.txt
```
4. Run the server:
```bash
uvicorn app.main:app --reload
```
### 3οΈβ£ **Frontend Setup**
1. Navigate to the `frontend` folder:
```bash
cd ../frontend
```
2. Install dependencies:
```bash
npm install
```
3. Start the development server:
```bash
npm run dev
```
4. Open your browser and visit:
```
http://localhost:5173
```
---
## πΈ **Screenshots**
### π₯οΈ **Dashboard Overview**

### πΊοΈ **Map View**

### β οΈ **Alerts for Offline/Low Battery**

---
## π **API Endpoints**
### 1οΈβ£ **Robot Data (GET)**
- **URL**: `/api/robots`
- **Description**: Fetches details of all robots.
### 2οΈβ£ **WebSocket Updates**
- **URL**: `/ws/updates`
- **Description**: Provides real-time telemetry updates.
---
## π€ **Contributing**
Want to contribute? Feel free to open a pull request or raise an issue!
---
## π **License**
This project is licensed under the [MIT License](LICENSE).
---
## β **Show Your Support**
If you like this project, don't forget to star β the repository!