/ElectricityCostDashboard

An app for viewing the Finnish electricity prices as well as calculating personal electricity costs based on real consumption and production data

Primary LanguageJavaScriptMIT LicenseMIT

ElectricityCostDashboard

This is a web app visualizing the current electricity prices and sources, inspired by exceptionally high electricity prices in 2022. In addition it also features an electricity cost calculator with which you can determine how much your electricity consumption in Finland has cost based on real Fingrid datahub exported data. Built using Vaadin & Spring Boot. A hosted version is available at sahko.vesanieminen.com.

Visualizer

Inspired by sahko.tk. Added my own twist to it with Fingrid public data to see e.g. the current wind production and production estimate in order to see its correlation to the price.

Screenshot 2022-11-01 at 22 53 53

Calculator

With this you can calculate the true costs of your electricity sale contract. Also you can compare the market spot price to a fixed on in order to see which one would have been the cheaper option for you.

Screenshot 2022-10-28 at 21 34 32

List

The UI is inspired by Fingrid Tuntihinta app. (My wife hates graphs, so I built this for her 😉)

Screenshot 2022-11-02 at 6 55 51

Running the application

The project is a standard Maven project. To run it from the command line, type mvnw (Windows), or ./mvnw (Mac & Linux), then open http://localhost:8080 in your browser.

You can also import the project to your IDE of choice as you would with any Maven project. Read more on how to import Vaadin projects to different IDEs (Eclipse, IntelliJ IDEA, NetBeans, and VS Code).

Running the database locally in docker

To create the container the first time:

docker run --name postgres-liukuri -p 5456:5432 -e POSTGRES_PASSWORD=mysecretpassword -d postgres

To run it:

docker start postgres-liukuri

To stop it:

docker stop postgres-liukuri

To remove it:

docker remove postgres-liukuri

Deploying to Production

To create a production build, call mvnw clean package -Pproduction (Windows), or ./mvnw clean package -Pproduction (Mac & Linux). This will build a JAR file with all the dependencies and front-end resources, ready to be deployed. The file can be found in the target folder after the build completes.

Once the JAR file is built, you can run it using java -jar target/froniusvizualizer-1.0-SNAPSHOT.jar

Project structure

  • MainLayout.java in src/main/java contains the navigation setup (i.e., the side/top bar and the main menu). This setup uses App Layout.
  • views package in src/main/java contains the server-side Java views of your application.
  • views folder in frontend/ contains the client-side JavaScript views of your application.
  • themes folder in frontend/ contains the custom CSS styles.

Useful links