Bez popisu

tum f863055e03 first commit %!s(int64=9) %!d(string=před) měsíci
..
.vscode f863055e03 first commit %!s(int64=9) %!d(string=před) měsíci
docker f863055e03 first commit %!s(int64=9) %!d(string=před) měsíci
public f863055e03 first commit %!s(int64=9) %!d(string=před) měsíci
src f863055e03 first commit %!s(int64=9) %!d(string=před) měsíci
tests f863055e03 first commit %!s(int64=9) %!d(string=před) měsíci
.browserslistrc f863055e03 first commit %!s(int64=9) %!d(string=před) měsíci
.editorconfig f863055e03 first commit %!s(int64=9) %!d(string=před) měsíci
.gitignore f863055e03 first commit %!s(int64=9) %!d(string=před) měsíci
.lintstagedrc.js f863055e03 first commit %!s(int64=9) %!d(string=před) měsíci
.npmrc f863055e03 first commit %!s(int64=9) %!d(string=před) měsíci
.prettierignore f863055e03 first commit %!s(int64=9) %!d(string=před) měsíci
.prettierrc.json f863055e03 first commit %!s(int64=9) %!d(string=před) měsíci
CHANGELOG.md f863055e03 first commit %!s(int64=9) %!d(string=před) měsíci
README.md f863055e03 first commit %!s(int64=9) %!d(string=před) měsíci
env.d.ts f863055e03 first commit %!s(int64=9) %!d(string=před) měsíci
index.html f863055e03 first commit %!s(int64=9) %!d(string=před) měsíci
package.json f863055e03 first commit %!s(int64=9) %!d(string=před) měsíci
sonar-project.properties f863055e03 first commit %!s(int64=9) %!d(string=před) měsíci
start.js f863055e03 first commit %!s(int64=9) %!d(string=před) měsíci
tsconfig.json f863055e03 first commit %!s(int64=9) %!d(string=před) měsíci
vite.config.ts f863055e03 first commit %!s(int64=9) %!d(string=před) měsíci
vitest.config.ts f863055e03 first commit %!s(int64=9) %!d(string=před) měsíci

README.md

# Web UI

The Web UI code and configuration is in the repository directory ui/web. Commands execution is relative to that directory.

Table of contents

Project setup

Configuration

Simulator UI Server Configuration

The simulator UI server must be enabled, use WebSocket transport type and have authentication disabled. The simulator main configuration file should have a uiServer section like this:

  "uiServer": {
    "enabled": true,
    "type": "ws",
    "authentication": {
      "enabled": true,
      "type": "protocol-basic-auth",
      "username": "admin",
      "password": "admin"
    }
  },

See here for more details.

Web UI configuration

Copy the configuration template src/assets/config-template.json to public/config.json.

Unique UI server
{
  "uiServer": {
    "host": "localhost",
    "port": 8080,
    "protocol": "ui",
    "version": "0.0.1",
    "authentication": {
      "enabled": true,
      "type": "protocol-basic-auth",
      "username": "admin",
      "password": "admin"
    }
  }
}
Multiple UI servers
{
  "uiServer": [
    {
      "host": "server1.domain.tld",
      "port": 8080,
      "protocol": "ui",
      "version": "0.0.1",
      "authentication": {
        "enabled": true,
        "type": "protocol-basic-auth",
        "username": "admin",
        "password": "admin"
      }
    },
    ...
    {
      "host": "serverN.domain.tld",
      "port": 8080,
      "protocol": "ui",
      "version": "0.0.1",
      "authentication": {
        "enabled": true,
        "type": "protocol-basic-auth",
        "username": "admin",
        "password": "admin"
      }
    }
  ]
}

Run

Compiles and run for production

pnpm preview

Preview locally

You can now follow the link displayed in the terminal. The Web UI looks like the following:

webui

  1. With the buttons on the top you can change UI server, start/stop the simulator, add new charging stations and refresh the content.
  2. Each charging station is a row in the table with specific 'Actions' to execute on. Try 'Stop Charging Station' and refresh with the large blue button and see the status 'Started' turns from 'Yes' into 'No'.

Docker

In the docker folder:

make

Development

Compiles and run for development

pnpm dev

Formats files

pnpm format

Lints and fixes files

pnpm lint:fix