# newVpp **Repository Path**: zhongjack/new-vpp ## Basic Information - **Project Name**: newVpp - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-14 - **Last Updated**: 2025-12-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Virtual Power Plant (VPP) Management System A comprehensive management system for Virtual Power Plants that aggregates distributed energy resources including photovoltaic systems and energy storage units to participate in electricity markets and provide grid services. ## Table of Contents - [Overview](#overview) - [Features](#features) - [Technology Stack](#technology-stack) - [System Architecture](#system-architecture) - [Getting Started](#getting-started) - [Prerequisites](#prerequisites) - [Installation](#installation) - [Running the Application](#running-the-application) - [API Documentation](#api-documentation) - [Project Structure](#project-structure) - [Screenshots](#screenshots) - [License](#license) ## Overview The Virtual Power Plant Management System is a sophisticated platform designed to aggregate distributed energy resources (DERs) such as solar photovoltaic systems and battery storage units into virtual power plants. These VPPs can then participate in energy markets, provide ancillary services to the grid, and optimize energy trading based on real-time conditions. This system enables: - Real-time monitoring and control of distributed energy resources - Automated bidding and participation in electricity markets - Predictive analytics for optimal energy dispatch - Comprehensive reporting and performance analysis ## Features ### Dashboard - Real-time overview of all VPP zones and their status - Key performance indicators (KPIs) including total aggregated capacity, active resources, energy traded, and CO2 reduction - Energy mix visualization showing contributions from different sources - Critical system alerts and notifications ### Resource Management - Centralized management of all energy resources (PV systems, storage units, VPP zones) - Detailed resource information and real-time status monitoring - Control capabilities for controllable resources (charge/discharge storage units) - Add/remove resources from VPP configurations ### VPP Configuration - Create and manage virtual power plant configurations - Define resource aggregation strategies - Configure market participation settings - Monitor VPP performance and efficiency ### Trading & Dispatch - Submit bids and offers to electricity markets - View market orders and dispatch instructions - Track transaction history and status - Execute grid dispatch commands ### Analytics & Reporting - Historical performance analysis - Planned vs actual generation/purchase comparison - Market performance metrics - Revenue tracking and financial analysis - Efficiency monitoring across VPP zones ### Settings - User preference management - Notification configuration - Security settings - System customization options ## Technology Stack ### Frontend - **Vue.js 3** - Progressive JavaScript framework with Composition API - **CSS3** - Custom styling with dark theme as default - **HTML5** - Semantic markup and responsive design ### Backend - **Go (Golang)** - High-performance backend with Gin web framework - **RESTful API** - Standardized API endpoints for frontend communication - **In-memory mock data** - Simulated data for demonstration purposes ### Development Tools - **Vite** - Fast build tool and development server - **npm** - Package management for frontend dependencies - **Go modules** - Dependency management for backend ## System Architecture ``` ┌─────────────────┐ REST API ┌──────────────────┐ │ Vue.js SPA │◄──────────────►│ Go/Gin Backend │ │ (Frontend) │ (HTTP/JSON) │ (Backend) │ └─────────────────┘ └──────────────────┘ │ │ │ │ ▼ ▼ ┌─────────────────┐ ┌──────────────────┐ │ Web Browser │ │ Mock Data Layer │ └─────────────────┘ └──────────────────┘ ``` The system follows a client-server architecture with a decoupled frontend and backend. The Vue.js Single Page Application communicates with the Go backend through RESTful APIs. All data is currently served through mock data layers for demonstration purposes. ## Getting Started ### Prerequisites - Node.js (version 14 or higher) - Go (version 1.16 or higher) - npm (usually bundled with Node.js) ### Installation 1. Clone the repository: ```bash git clone cd vpp-management-system ``` 2. Install frontend dependencies: ```bash npm install ``` 3. Backend dependencies are managed through Go modules and will be automatically downloaded when running the application. ### Running the Application #### Frontend Development Server ```bash npm run dev ``` The frontend will be available at `http://localhost:3000` #### Backend API Server ```bash cd vpp-backend go run cmd/vpp-api/main.go ``` The backend API will be available at `http://localhost:8081` #### Production Build To build the frontend for production: ```bash npm run build ``` ## API Documentation The backend exposes a RESTful API with the following main endpoints: ### Dashboard - `GET /api/v1/dashboard/stats` - Retrieve dashboard statistics - `GET /api/v1/dashboard/alerts` - Retrieve system alerts ### Resources - `GET /api/v1/resources` - List all energy resources - `GET /api/v1/resources/{id}` - Get specific resource details - `POST /api/v1/resources` - Create a new resource - `PUT /api/v1/resources/{id}` - Update an existing resource - `DELETE /api/v1/resources/{id}` - Delete a resource ### VPP Configurations - `GET /api/v1/vpp-configs` - List all VPP configurations - `GET /api/v1/vpp-configs/{id}` - Get specific VPP configuration - `POST /api/v1/vpp-configs` - Create a new VPP configuration - `PUT /api/v1/vpp-configs/{id}` - Update an existing VPP configuration - `DELETE /api/v1/vpp-configs/{id}` - Delete a VPP configuration ### Trading - `GET /api/v1/trades` - List all trades and market orders - `POST /api/v1/trades` - Submit a new trade - `DELETE /api/v1/trades/{id}` - Cancel a trade ### Analytics - `GET /api/v1/analytics/generation` - Get generation data - `GET /api/v1/analytics/market-performance` - Get market performance data - `GET /api/v1/analytics/efficiency` - Get VPP efficiency data - `GET /api/v1/analytics/planned-vs-actual` - Get planned vs actual power data ### Settings - `GET /api/v1/settings` - Get current settings - `PUT /api/v1/settings` - Update settings All API responses follow a consistent format: ```json { "success": true, "data": {...}, "message": "Optional message" } ``` ## Project Structure ``` vpp-management-system/ ├── src/ # Frontend source code │ ├── components/ # Reusable Vue components │ ├── views/ # Page components │ ├── router/ # Vue Router configuration │ └── assets/ # Static assets ├── vpp-backend/ # Go backend source code │ ├── cmd/ # Main applications │ ├── internal/ # Internal packages │ │ ├── api/ # API server implementation │ │ ├── handlers/ # HTTP handlers │ │ ├── models/ # Data models │ │ └── data/ # Mock data │ └── configs/ # Configuration files ├── public/ # Public static assets ├── index.html # Main HTML file ├── package.json # Frontend dependencies ├── vite.config.js # Vite configuration ├── go.mod # Go module definition └── go.sum # Go module checksums ``` ## Screenshots ### Dashboard View ![Dashboard](screenshots/dashboard.png) *Main dashboard showing real-time VPP status and KPIs* ### Resource Management ![Resources](screenshots/resources.png) *Resource management interface with detailed controls* ### Trading Operations ![Trading](screenshots/trading.png) *Electricity trading and dispatch interface* ### Analytics & Performance ![Analytics](screenshots/analytics.png) *Performance analytics with planned vs actual power comparison* ## License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. --- *Developed as a comprehensive solution for modern virtual power plant management and optimization.*