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

30 lines
1.9 KiB
Markdown

# 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!