This repository has been archived on 2026-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
2025-11-07 15:59:10 +01:00

1.9 KiB

Agent Instructions

Welcome to the nymea EV-Dash experience plugin repository. Please keep the following guidelines in mind when working on this codebase:

Purpose

The dashboard should should give an overview of conofugred ev chargers in the system, show the status of each ev charger, information and provide

Structure

  • The plugin directory contains the Qt c++ implementation of the experience plugin
    • The EvDashJsonHandler class provides the JSON RPC API definition and declaration of the experience
    • The EvDashWebServerResource represents the webserver HTTP backend and handles REST API requests and file requests starting with the path /evdash. This class provides file access to the static resources and provides secure generated data access
  • The dashboard folder contains the webinterface, a html + js file based website representing the frontend. The interface will be compiled into the plugin using the dashboard.qrc file.
  • The dashboard should be brandable, providing 3 colors and icons should allow to change the style of the webinterface
  • The dashboard uses a websocket to communicate with the API interface in EvDashEngine.

General workflow

  • Keep pull request descriptions concise but informative, mentioning both user-visible changes and internal refactors.
  • Prefer focused commits that touch related files together.

C++/Qt coding style

  • Follow the Qt coding conventions: camelCase for method names and member variables beginning with m_.
  • Keep #include directives alphabetised within their groups (project headers before Qt and system headers).
  • Use Qt container classes where the rest of the code already does so.
  • Use Qt logging helpers (qCDebug(dcEvDashExperience()), qCWarning(dcEvDashExperience()), etc.) for new diagnostics.

Tests and verification

  • When possible, run the relevant unit or integration tests and mention them in the final summary.

Thank you for contributing!