1.9 KiB
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
plugindirectory contains the Qt c++ implementation of the experience plugin- The
EvDashJsonHandlerclass provides the JSON RPC API definition and declaration of the experience - The
EvDashWebServerResourcerepresents 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
- The
dashboardfolder 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
#includedirectives 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!