PVInsight is an advanced web-based platform developed to streamline the prediction and management of photovoltaic (PV) power generation using Artificial Intelligence (AI). This project is tailored to address challenges faced by researchers in handling large volumes of energy data, enabling efficient preprocessing, anomaly detection, and energy forecasting.
Designed with a user-friendly interface and leveraging cutting-edge technologies, PVInsight empowers researchers to automate data workflows, visualize anomalies, and predict future energy outputs of solar panels.
- Project Structure
- System Architecture
- Core Functionalities
- Installation and Setup
- Default User Accounts
- Illustrative Examples
- Video Demonstration
- Future Enhancements
The PVInsight project is organized into two main directories:
PVInsight/
│
├── Frontend/ # React.js Web Application
│ ├── src/
│ └── package.json
│
└── Backend/ # Flask Application
├── app/
└── requirements.txt
-
Data Preprocessing
- Detection and handling of missing, null, and anomalous values
- Data normalization, encoding, and filtering for enhanced model compatibility
-
Prediction & Analysis
- Predict energy generation using machine learning models
- Visualize predicted vs. actual data with comprehensive metrics
-
User Roles
- Admin: Manage user roles, monitor system stats, and maintain system integrity
- Researcher: Import datasets, preprocess data, perform predictions, and generate reports
- AI Supervisor: Manage and fine-tune predictive models and preprocessing scripts
-
Real-Time Insights
- Visualize data trends and monitor real-time energy production for decision-making
-
Reports & Dashboards
- Generate detailed reports for data quality, anomaly detection, and prediction results
- Interactive dashboards for data exploration and visualization
Choose one of the following setup options:
- Node.js (version 20.10.0)
- Python (version 3.11.3)
- MongoDB
- Docker Engine
- Docker Compose
- Clone the Project
git clone https://github.com/AbderrahmaneOd/PVInsight.git
cd PVInsight
- Backend Setup
# Navigate to Backend directory
cd ./Backend
# Create .env file from the template
cp .env.example .env
# Configure MongoDB connection in .env
# Install dependencies
pip install -r requirements.txt
# Initialize the database with default user accounts
python ./app/init_db.py
# Run Flask application
flask run --reload
- Frontend Setup
# Navigate to Frontend directory
cd ./Frontend
# Create .env file from template
cp .env.example .env
# Install dependencies
npm install
# Run development server
npm run dev
- Clone the Project
git clone https://github.com/AbderrahmaneOd/PVInsight.git
cd PVInsight
- Build and Run with Docker Compose
# Build and start all services
docker-compose up --build
# To run in detached mode
docker-compose up -d
The application will be accessible at:
- Frontend:
http://localhost:5173
- Backend:
http://localhost:5000
- Username:
admin
- Password:
admin_pass
- Username:
ai_manager
- Password:
ai_manager_pass
- Username:
researcher
- Password:
researcher_pass
- Automated report generation for preprocessed data and predictions
- Mobile application for data visualization
- Advanced script management for preprocessing customization
- Enhanced machine learning model selection and customization
Links\Names | Mohammed Belkarradi | Abderrahmane Ouaday |
---|---|---|
GitHub | ||
Website |
This project is licensed under the MIT License - see the LICENSE file for details.