Skip to content

SOLECTRUS is an innovative photovoltaic dashboard that not only visualizes the energy yield and consumption of a PV system but also calculates the costs and savings.

License

Notifications You must be signed in to change notification settings

suprnova32/solectrus

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Maintainability Test Coverage wakatime

SOLECTRUS

Photovoltaic Dashboard, read here about the motivation (in German): https://ledermann.dev/blog/2021/02/03/photovoltaik-dashboard-als-web-applikation/

Screenshot

Live Demo

A live demo with realtime data is available at https://demo.solectrus.de

Installation

For self-hosting SOLECTRUS, please look at https://github.com/solectrus/hosting

Development

  1. Clone the repo locally:
git clone [email protected]:solectrus/solectrus.git
cd solectrus
  1. Install PostgreSQL, Redis, and puma-dev (if not already present). On a Mac with HomeBrew, run this to install from the Brewfile:
brew bundle

Ensure that PostgreSQL is running:

brew services start postgresql@16
  1. Install and set up puma-dev to use HTTPS for development. Do this on macOS:
sudo puma-dev -setup
puma-dev -install
puma-dev link

# Use Vite via puma-dev proxy
# Adopted from https://github.com/puma/puma-dev#webpack-dev-server
echo 3036 > ~/.puma-dev/vite.solectrus
  1. Setup the application to install gems and NPM packages and create the database:
bin/setup
  1. Start the application locally:
bin/dev

This starts the app and opens https://solectrus.test in your default browser (see Procfile.dev).

Test

After preparing development environment (see above):

bin/influxdb-restart.sh
DISABLE_SPRING=1 bin/rspec
DISABLE_SPRING=1 RAILS_ENV=test bin/rake cypress:run
open coverage/index.html

RuboCop:

bin/rubocop

ESLint:

bin/yarn lint

TypeScript:

bin/yarn tsc

There is a shortcut to run all test and linting tools:

bin/test

Performance monitoring

The Live Demo is hosted at Hetzner Cloud. For performance monitoring, it uses RorVsWild, which is free for OpenSource projects. You can see internal metrics like CPU, memory, and disk usage, as well as request times and errors here: https://www.rorvswild.com/applications/136101/requests

License

Copyright (c) 2020-2024 Georg Ledermann, released under the AGPL-3.0 License

About

SOLECTRUS is an innovative photovoltaic dashboard that not only visualizes the energy yield and consumption of a PV system but also calculates the costs and savings.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 70.9%
  • Slim 14.0%
  • TypeScript 9.0%
  • JavaScript 3.9%
  • CSS 1.1%
  • Shell 1.0%
  • Other 0.1%