Skip to content

PVInsight is an innovative web-based platform designed to streamline the prediction and management of photovoltaic (solar) power generation.

License

Notifications You must be signed in to change notification settings

AbderrahmaneOd/PVInsight

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PVInsight: A Novel Web-Based Platform for Streamlined Photovoltaic Power Prediction

MongoDB Node.js Python React TailwindCSS Flask Docker

PVInsight Logo

Overview

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.

Table of Contents

  1. Project Structure
  2. System Architecture
  3. Core Functionalities
  4. Installation and Setup
  5. Default User Accounts
  6. Illustrative Examples
  7. Video Demonstration
  8. Future Enhancements

Project Structure

The PVInsight project is organized into two main directories:

PVInsight/
│
├── Frontend/            # React.js Web Application
│   ├── src/
│   └── package.json
│
└── Backend/             # Flask Application
    ├── app/
    └── requirements.txt

System Architecture

PVInsight project architecture

Core Functionalities

  1. Data Preprocessing

    • Detection and handling of missing, null, and anomalous values
    • Data normalization, encoding, and filtering for enhanced model compatibility
  2. Prediction & Analysis

    • Predict energy generation using machine learning models
    • Visualize predicted vs. actual data with comprehensive metrics
  3. 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
  4. Real-Time Insights

    • Visualize data trends and monitor real-time energy production for decision-making
  5. Reports & Dashboards

    • Generate detailed reports for data quality, anomaly detection, and prediction results
    • Interactive dashboards for data exploration and visualization

Installation and Setup

Prerequisites

Choose one of the following setup options:

Option 1: Local Setup

  • Node.js (version 20.10.0)
  • Python (version 3.11.3)
  • MongoDB

Option 2: Docker Setup

  • Docker Engine
  • Docker Compose

Option 1: Local Setup

  1. Clone the Project
git clone https://github.com/AbderrahmaneOd/PVInsight.git
cd PVInsight
  1. 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
  1. 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

Option 2: Docker Setup

  1. Clone the Project
git clone https://github.com/AbderrahmaneOd/PVInsight.git
cd PVInsight
  1. 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

Default User Accounts

Administrator

  • Username: admin
  • Password: admin_pass

AI Manager

  • Username: ai_manager
  • Password: ai_manager_pass

Researcher

  • Username: researcher
  • Password: researcher_pass

Illustrative Examples

Video Demonstration

Future Enhancements

  • 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

Contributors

Links\Names Mohammed Belkarradi Abderrahmane Ouaday
GitHub GitHub GitHub GitHub GitHub
LinkedIn LinkedIn LinkedIn LinkedIn LinkedIn
Website Website Website Website Website

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

PVInsight is an innovative web-based platform designed to streamline the prediction and management of photovoltaic (solar) power generation.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •