{"id":36632342,"url":"https://github.com/exploring-solver/vpp_aggregation_platform","last_synced_at":"2026-01-12T09:39:38.739Z","repository":{"id":323258939,"uuid":"1092153556","full_name":"exploring-solver/vpp_aggregation_platform","owner":"exploring-solver","description":null,"archived":false,"fork":false,"pushed_at":"2025-11-09T05:30:59.000Z","size":13822,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-09T05:31:10.664Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/exploring-solver.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-08T04:59:58.000Z","updated_at":"2025-11-09T05:31:03.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/exploring-solver/vpp_aggregation_platform","commit_stats":null,"previous_names":["exploring-solver/vpp_aggregation_platform"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/exploring-solver/vpp_aggregation_platform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exploring-solver%2Fvpp_aggregation_platform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exploring-solver%2Fvpp_aggregation_platform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exploring-solver%2Fvpp_aggregation_platform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exploring-solver%2Fvpp_aggregation_platform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/exploring-solver","download_url":"https://codeload.github.com/exploring-solver/vpp_aggregation_platform/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exploring-solver%2Fvpp_aggregation_platform/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28337740,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T06:09:07.588Z","status":"ssl_error","status_checked_at":"2026-01-12T06:05:18.301Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-12T09:39:37.950Z","updated_at":"2026-01-12T09:39:38.726Z","avatar_url":"https://github.com/exploring-solver.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HackCBS 8.0 ne mera ghee khatam kardiya hai.\r\n# Vusio - AI-Powered Virtual Power Plant Platform\r\n\r\n\u003e **Transforming Data Centers from Energy Consumers into Active Grid Assets**\r\n\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n[![Node.js](https://img.shields.io/badge/Node.js-18+-green.svg)](https://nodejs.org/)\r\n[![Python](https://img.shields.io/badge/Python-3.9+-blue.svg)](https://www.python.org/)\r\n[![React](https://img.shields.io/badge/React-18+-61dafb.svg)](https://reactjs.org/)\r\n\r\n## 🎯 The Problem\r\n\r\nIndia faces a critical power reserve crisis that threatens its digital infrastructure growth:\r\n\r\n- **Critical Reserve Margin**: India's spinning reserve margin is just **5%** (vs. recommended 15-20%)\r\n- **Exponential Data Center Growth**: Data center demand set to rise **5-7x by 2030**\r\n- **Grid Instability**: Insufficient reserve capacity leads to frequency fluctuations and potential blackouts\r\n- **Energy Waste**: Data centers consume massive energy but remain passive grid participants\r\n- **AI Infrastructure Challenge**: Growing AI workloads require sustainable, flexible power management\r\n\r\n**The Challenge**: How do we enable sustainable digital infrastructure growth while strengthening grid resilience?\r\n\r\n## 💡 The Solution: Vusio\r\n\r\n**Vusio** is an AI-powered Virtual Power Plant (VPP) that aggregates battery storage and flexible compute loads across data centers to provide synthetic reserve capacity for India's power grid.\r\n\r\n### Core Value Propositions\r\n\r\n1. **Grid Stability**: Provides synthetic spinning reserve by intelligently managing distributed energy resources\r\n2. **Revenue Generation**: Creates new revenue streams for data center operators through energy market participation\r\n3. **Sustainable Growth**: Enables sustainable AI and digital infrastructure expansion\r\n4. **Intelligent Optimization**: AI-driven predictions and optimizations for grid stress and energy arbitrage\r\n5. **Energy Resilience**: Strengthens India's overall energy infrastructure resilience\r\n\r\n## 🏗️ Architecture Overview\r\n\r\n```\r\n┌─────────────────────────────────────────────────────────────────┐\r\n│                    Vusio VPP Platform                           │\r\n├─────────────────────────────────────────────────────────────────┤\r\n│                                                                 │\r\n│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐         │\r\n│  │   Web        │  │   Vendor     │  │   Data      │         │\r\n│  │  Dashboard   │  │   Portal     │  │  Layer      │         │\r\n│  │  (React)     │  │   (React)    │  │  Service    │         │\r\n│  └──────┬───────┘  └──────┬───────┘  └──────┬───────┘         │\r\n│         │                  │                  │                 │\r\n│         └──────────────────┼──────────────────┘                 │\r\n│                            │                                    │\r\n│                   ┌────────▼────────┐                           │\r\n│                   │  Aggregator API │                           │\r\n│                   │   (Express.js)  │                           │\r\n│                   └────────┬────────┘                           │\r\n│                            │                                    │\r\n│         ┌──────────────────┼──────────────────┐                │\r\n│         │                  │                  │                │\r\n│  ┌──────▼──────┐  ┌───────▼──────┐  ┌───────▼──────┐         │\r\n│  │   ML        │  │   MQTT       │  │   Redis      │         │\r\n│  │  Pipeline   │  │   Broker     │  │   Cache      │         │\r\n│  │  (Python)   │  │  (Mosquitto) │  │   Pub/Sub    │         │\r\n│  └──────┬──────┘  └───────┬──────┘  └───────┬──────┘         │\r\n│         │                  │                  │                │\r\n│         └──────────────────┼──────────────────┘                │\r\n│                            │                                    │\r\n│                   ┌────────▼────────┐                           │\r\n│                   │   Edge Nodes     │                           │\r\n│                   │  (Data Centers)  │                           │\r\n│                   │  DC01, DC02...   │                           │\r\n│                   └──────────────────┘                           │\r\n│                                                                 │\r\n└─────────────────────────────────────────────────────────────────┘\r\n```\r\n\r\n## 📦 Project Modules\r\n\r\n### 1. **Backend Aggregator** (`backend_express/`)\r\n\r\nThe core API server that orchestrates all VPP operations.\r\n\r\n**Key Features:**\r\n- RESTful API with 50+ endpoints\r\n- Real-time telemetry ingestion\r\n- Multi-agent system coordination\r\n- Marketplace for energy contracts\r\n- SSH management for edge nodes\r\n- WebSocket support for real-time updates\r\n\r\n**Technologies:**\r\n- Node.js + Express.js\r\n- MongoDB (data persistence)\r\n- Redis (caching \u0026 pub/sub)\r\n- MQTT (edge communication)\r\n- JWT authentication\r\n\r\n**Key Routes:**\r\n- `/api/telemetry` - Real-time data ingestion\r\n- `/api/aggregate` - VPP state aggregation\r\n- `/api/dispatch` - Command dispatch to nodes\r\n- `/api/marketplace` - Energy contracts \u0026 bidding\r\n- `/api/agents` - Multi-agent coordination\r\n- `/api/forecast` - Load \u0026 grid stress predictions\r\n- `/api/optimization` - RL-based recommendations\r\n\r\n### 2. **ML Pipeline** (`ml_pipeline/`)\r\n\r\nAI/ML services for forecasting, optimization, and intelligent decision-making.\r\n\r\n**Key Components:**\r\n- **LSTM Forecaster**: Time-series forecasting for load prediction\r\n- **Foundation Forecaster**: Transformer-based grid stress prediction\r\n- **RL Optimizer**: Reinforcement learning for optimal dispatch decisions\r\n- **Intelligent Agent**: Multi-agent coordination logic\r\n- **Drift Monitor**: Model performance monitoring\r\n- **Model Registry**: ML model versioning and management\r\n\r\n**Technologies:**\r\n- Python 3.9+\r\n- PyTorch / TensorFlow\r\n- FastAPI\r\n- scikit-learn\r\n- pandas, numpy\r\n\r\n### 3. **Web Dashboard** (`web_dashboard/`)\r\n\r\nMain operator dashboard for monitoring and controlling VPP operations.\r\n\r\n**Key Pages:**\r\n- **Dashboard**: Real-time VPP metrics and KPIs\r\n- **Data Center Operator**: Node-specific operations and monitoring\r\n- **Trading**: RL-based trading strategies and market participation\r\n- **Agent Management**: Multi-agent system status and control\r\n- **Forecasting**: Load and grid stress visualizations\r\n- **Marketplace**: Energy contracts and bidding interface\r\n\r\n**Technologies:**\r\n- React 18\r\n- Vite\r\n- Tailwind CSS\r\n- WebSocket client\r\n- Auth0 integration\r\n\r\n### 4. **Vendor Portal** (`vendor_portal/`)\r\n\r\nSeparate portal for energy companies to post contracts and manage transactions.\r\n\r\n**Features:**\r\n- Vendor authentication (JWT)\r\n- Create energy contracts\r\n- View and accept bids from operators\r\n- Transaction management\r\n- Revenue tracking\r\n\r\n**Technologies:**\r\n- React 18\r\n- Vite\r\n- Tailwind CSS\r\n- JWT authentication\r\n\r\n### 5. **Data Layer Service** (`data_layer_service/`)\r\n\r\nDedicated service for data analytics, ETL, and historical analysis.\r\n\r\n**Features:**\r\n- Telemetry data ingestion\r\n- Analytics engine\r\n- Transaction logging\r\n- Metadata management\r\n- ETL pipelines\r\n\r\n**Technologies:**\r\n- Node.js + Express.js\r\n- MongoDB\r\n- Redis\r\n\r\n### 6. **Edge Node Simulator** (`services/edge_node/`)\r\n\r\nSimulates data center edge nodes for testing and development.\r\n\r\n**Features:**\r\n- MQTT telemetry publishing\r\n- Command execution simulation\r\n- Battery state management\r\n- Load simulation\r\n- SSH server simulation\r\n\r\n**Technologies:**\r\n- Python + FastAPI\r\n- MQTT client\r\n- Simulated hardware interfaces\r\n\r\n### 7. **Infrastructure** (`docker-compose.yml`)\r\n\r\nContainerized deployment with all services.\r\n\r\n**Services:**\r\n- MongoDB (database)\r\n- Redis (cache \u0026 pub/sub)\r\n- Mosquitto (MQTT broker)\r\n- Aggregator backend\r\n- Edge node simulators\r\n- Web dashboard\r\n- ML pipeline services\r\n\r\n## 🔄 How It Works\r\n\r\n### 1. **Telemetry Collection**\r\n\r\n```\r\nEdge Node (DC01) → MQTT → Aggregator → MongoDB + Redis\r\n```\r\n\r\n- Edge nodes publish real-time telemetry (power, SOC, frequency, temperature)\r\n- Aggregator ingests and stores data\r\n- Real-time state cached in Redis\r\n\r\n### 2. **VPP State Aggregation**\r\n\r\n```\r\nAll Nodes → Aggregator → Virtual Plant State\r\n```\r\n\r\n- Aggregates capacity, battery state, and power across all nodes\r\n- Calculates total available reserve\r\n- Monitors grid frequency and stability metrics\r\n\r\n### 3. **AI-Powered Forecasting**\r\n\r\n```\r\nHistorical Data → ML Models → Predictions\r\n```\r\n\r\n- **Load Forecasting**: Predicts data center demand 24h ahead\r\n- **Grid Stress Forecasting**: Predicts grid stress events 6h ahead\r\n- Models: LSTM (time-series) + Foundation models (transformer-based)\r\n\r\n### 4. **Multi-Agent Coordination**\r\n\r\n```\r\nForecast Agent + Optimization Agent + Monitoring Agent → Coordinated Actions\r\n```\r\n\r\n- **Forecast Agent**: Analyzes predictions and identifies opportunities\r\n- **Optimization Agent**: Uses RL to determine optimal actions\r\n- **Monitoring Agent**: Tracks system health and available reserves\r\n- Agents coordinate to make intelligent dispatch decisions\r\n\r\n### 5. **Energy Marketplace**\r\n\r\n```\r\nVendor Posts Contract → Operators Bid → Vendor Accepts → Transaction Created\r\n```\r\n\r\n**Flow:**\r\n1. Energy company (vendor) posts contract: \"Need 10 MW for 2 hours, max ₹5000/MW\"\r\n2. Data center operators see contract and place bids\r\n3. Vendor reviews bids and accepts best offer\r\n4. System creates transaction and tracks execution\r\n5. Revenue distributed to operators\r\n\r\n### 6. **Dispatch Optimization**\r\n\r\n```\r\nGrid Stress Detected → RL Agent Recommends → Dispatch Commands → Edge Nodes\r\n```\r\n\r\n- RL agent analyzes current state and forecasts\r\n- Recommends optimal actions (charge, discharge, defer load, hold)\r\n- Commands dispatched via MQTT to edge nodes\r\n- Real-time feedback loop for continuous learning\r\n\r\n### 7. **Grid Support Operations**\r\n\r\n**Synthetic Reserve:**\r\n- When grid frequency drops, VPP discharges batteries\r\n- Provides immediate power injection to stabilize grid\r\n\r\n**Load Deferral:**\r\n- During peak demand, non-critical workloads deferred\r\n- Reduces grid load without impacting critical operations\r\n\r\n**Energy Arbitrage:**\r\n- Charge batteries during low-price periods\r\n- Discharge during high-price periods\r\n- Maximizes revenue for operators\r\n\r\n## 🚀 Quick Start\r\n\r\n### Prerequisites\r\n\r\n- Docker \u0026 Docker Compose\r\n- Node.js 18+\r\n- Python 3.9+\r\n- MongoDB (or use Docker)\r\n- Redis (or use Docker)\r\n\r\n### Installation\r\n\r\n1. **Clone the repository**\r\n```bash\r\ngit clone \u003crepository-url\u003e\r\ncd vpp_aggregation_platform\r\n```\r\n\r\n2. **Start infrastructure services**\r\n```bash\r\ndocker-compose up -d mongodb redis mqtt_broker\r\n```\r\n\r\n3. **Install backend dependencies**\r\n```bash\r\ncd backend_express\r\nnpm install\r\n```\r\n\r\n4. **Configure environment variables**\r\n```bash\r\ncp .env.example .env\r\n# Edit .env with your configuration\r\n```\r\n\r\n5. **Start the aggregator backend**\r\n```bash\r\ncd backend_express\r\nnpm start\r\n```\r\n\r\n6. **Start the web dashboard**\r\n```bash\r\ncd web_dashboard\r\nnpm install\r\nnpm run dev\r\n```\r\n\r\n7. **Start ML pipeline** (optional)\r\n```bash\r\ncd ml_pipeline\r\npip install -r requirements.txt\r\npython src/api/main.py\r\n```\r\n\r\n### Environment Variables\r\n\r\n**Backend (`backend_express/.env`):**\r\n```env\r\nPORT=3000\r\nWS_PORT=3001\r\nMONGODB_URI=mongodb://localhost:27017/vpp_platform\r\nREDIS_HOST=localhost\r\nREDIS_PORT=6379\r\nMQTT_BROKER_URL=mqtt://localhost:1883\r\nJWT_SECRET=your-secret-key\r\n```\r\n\r\n**Web Dashboard (`web_dashboard/.env`):**\r\n```env\r\nVITE_API_URL=http://localhost:3000\r\nVITE_WS_URL=ws://localhost:3001\r\n```\r\n\r\n## 📊 Key Features\r\n\r\n### For Data Center Operators\r\n\r\n- ✅ Real-time monitoring of energy operations\r\n- ✅ Bid on energy contracts from vendors\r\n- ✅ Track revenue from grid services\r\n- ✅ Automated dispatch optimization\r\n- ✅ Battery health and performance metrics\r\n- ✅ Forecast-based planning tools\r\n\r\n### For Energy Companies (Vendors)\r\n\r\n- ✅ Post energy contract opportunities\r\n- ✅ Review and accept bids from operators\r\n- ✅ Track transaction history\r\n- ✅ Manage multiple contracts\r\n- ✅ Revenue and performance analytics\r\n\r\n### For Grid Operators\r\n\r\n- ✅ Synthetic reserve capacity\r\n- ✅ Grid frequency stabilization\r\n- ✅ Demand response capabilities\r\n- ✅ Real-time VPP state visibility\r\n- ✅ Predictive grid stress alerts\r\n\r\n## 🔬 Testing\r\n\r\n### API Testing with Qyrus QAPI\r\n\r\nThe project includes a comprehensive Swagger/OpenAPI specification (`backend_express/swagger.yaml`) for automated API testing.\r\n\r\n**Upload to Qyrus QAPI:**\r\n1. Import `backend_express/swagger.yaml` into QAPI\r\n2. QAPI automatically generates test suites for all 50+ endpoints\r\n3. Run automated tests for:\r\n   - Authentication flows\r\n   - Marketplace operations\r\n   - Telemetry ingestion\r\n   - Dispatch commands\r\n   - Agent coordination\r\n\r\n**Test Coverage:**\r\n- 50+ API endpoints\r\n- 200+ test scenarios\r\n- Complete workflow validation\r\n- Authentication \u0026 authorization\r\n- Error handling\r\n\r\n## 📈 Performance Metrics\r\n\r\n- **Latency**: \u003c 100ms for telemetry ingestion\r\n- **Throughput**: 1000+ messages/second via MQTT\r\n- **Forecast Accuracy**: 85-90% for 24h load predictions\r\n- **Grid Response Time**: \u003c 5 seconds for reserve activation\r\n- **API Response Time**: \u003c 200ms average\r\n\r\n## 🔐 Security\r\n\r\n- JWT-based authentication for vendors\r\n- Auth0 integration for operators\r\n- SSH key encryption for edge node access\r\n- Rate limiting on API endpoints\r\n- CORS protection\r\n- Input validation and sanitization\r\n\r\n## 📚 Documentation\r\n\r\n- **API Documentation**: `backend_express/swagger.yaml` (OpenAPI 3.0)\r\n- **Setup Guide**: See individual module READMEs\r\n- **Architecture**: See `AGENT_SYSTEM_IMPLEMENTATION.md` and `TRADING_SYSTEM_IMPLEMENTATION.md`\r\n\r\n## 🤝 Contributing\r\n\r\n1. Fork the repository\r\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\r\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\r\n4. Push to the branch (`git push origin feature/amazing-feature`)\r\n5. Open a Pull Request\r\n\r\n## 📄 License\r\n\r\nThis project is licensed under the MIT License - see the LICENSE file for details.\r\n\r\n## 🙏 Acknowledgments\r\n\r\n- Built for India's energy resilience\r\n- Designed to support sustainable AI infrastructure growth\r\n- Enabling data centers to become active grid participants\r\n\r\n## 📞 Contact\r\n\r\nFor questions, issues, or contributions, please open an issue on GitHub.\r\n\r\n---\r\n\r\n**Vusio** - Powering India's Digital Future with Intelligent Energy Management\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexploring-solver%2Fvpp_aggregation_platform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexploring-solver%2Fvpp_aggregation_platform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexploring-solver%2Fvpp_aggregation_platform/lists"}