Skip to content

kingdomax/photovoltaic-system-calculation

Repository files navigation

Photovoltaic System Calculator

Watch the video

In today's digital era, planning efficiently using digital tools provides an invaluable advantage. This is particularly true for business and private electricity planning such as the utilization of photovoltaic systems (PV/PS). This project aims to address the challenges associated with calculating and determining the effectiveness and feasibility of photovoltaic systems. We have developed a prototype web-based calculation system for a photovoltaic system, specifically tailored to a particular manufacturer and product. The application considers the current weather data and local conditions at the specific location on the planet, assisting in accurately calculating and specifying the photovoltaic system's potential. The website comprises four essential components: Frontend, External Webservice API, Backend, and Database.

Demo: https://www.youtube.com/watch?v=tKLgZwmIMao

Key Features

  • User Accounts: Users can register, log in, update profiles, and delete their accounts.
  • Project Management: Create, filter, edit, and delete solar energy projects with status indicators.
  • Product Configuration: Add and customize solar products within projects, including location and physical parameters.
  • Interactive Map: Visualize and manage product placements using an interactive map interface.
  • API Integration: Fetch real-time solar irradiance (PVGIS) and weather data (OpenWeatherMap) to enhance calculation accuracy.
  • Energy Production Estimation: Calculates daily energy output based on product and weather data using physical formulas.
  • Report Generation: Generate and email detailed Excel reports; projects are marked as inactive after report creation.
  • Automated Background Jobs: Cronjobs collect daily weather data and auto-generate reports for 30-day projects.
  • Data Storage: SQLite database holds data on users, projects, products, weather records, and production reports.

Tech Stacks

The application relies on the following tools, frameworks, libraries and APIs:

Getting Started

To get the application up and running on your local machine, there are some prerequisites which need to be installed:

  1. Download and install Node.js
  2. Download and install .NET core SDK 6.0

Setup Database

To setup the database for the application:

  1. Copy the file ./backend/PhotovoltaicSystemCalculation/PhotovoltaicSystemCalculation/psc-backup.db and rename it to "psc.db"

Optional: To easily check the database, you can use DB Browser for SQLite

Start the Application

To start the backend:

  1. Navigate to the backend directory with cd backend/PhotovoltaicSystemCalculation/PhotovoltaicSystemCalculation
  2. Run the backend with dotnet run

Optional: For debugging, you can use Visual Studio 2022

To start the frontend:

  1. Navigate to the frontend directory with cd frontend
  2. Install the dependencies with npm install
  3. Start the application with npm start

Accessing the Web Application

You can access the application through the following URLs:

For testing, you can use the following account details:

  • Username: admin
  • Password: 1234

Run Tests

To run xUnit:

  1. Navigate to test directory with cd backend/PhotovoltaicSystemCalculation/UnitTest
  2. Start test suits with dotnet test

About

[Web App] Calculation system for photovoltaic systems

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published