30 lines
1.9 KiB
Markdown
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!
|