eeg_portal/eeg_frontend/package.json
Bernhard Müller 4b7b26231f feat(community): add member consumption dashboard with coverage preview
Backend:
- ConsumptionDashboardService: aggregates consumption and community
  feed-in data with daily/hourly granularity based on date range
- Coverage calculation: min(consumption, communityFeedIn) per interval
- Ownership check on dashboard endpoint
- 6 new aggregate queries in MeteringDataRepository
- findActiveMeteringPointIdsByCommunityId in MembershipRepository
- 6 unit tests for ConsumptionDashboardService

Frontend:
- Apache ECharts via ngx-echarts for chart visualization
- ConsumptionDashboardComponent with metering point selector,
  date range picker, quick-range buttons (7/30/90 days)
- Chart: blue bars (consumption), green bars (covered), orange
  line (community feed-in), tooltip with coverage percentage
- Summary cards: total consumption, coverage %, feed-in, covered kWh
- Warning when user has no community membership
- Route /dashboard/consumption (MEMBER only)

Tests: 143/143 passing
2026-07-22 13:23:58 +02:00

44 lines
1.2 KiB
JSON

{
"name": "eeg-frontend",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"watch": "ng build --watch --configuration development",
"test": "ng test",
"generate-api": "openapi-generator-cli generate -i ./openapi.yaml -g typescript-angular -o ./src/app/api"
},
"private": true,
"packageManager": "npm@11.15.0",
"dependencies": {
"@angular/cdk": "^21.2.12",
"@angular/common": "^21.2.0",
"@angular/compiler": "^21.2.0",
"@angular/core": "^21.2.0",
"@angular/forms": "^21.2.0",
"@angular/material": "^21.2.12",
"@angular/platform-browser": "^21.2.0",
"@angular/router": "^21.2.0",
"@tailwindcss/postcss": "^4.3.0",
"echarts": "^6.1.0",
"ngx-echarts": "^18.0.0",
"rxjs": "~7.8.0",
"tslib": "^2.3.0",
"zone.js": "^0.16.2"
},
"devDependencies": {
"@angular/build": "^21.2.12",
"@angular/cli": "^21.2.12",
"@angular/compiler-cli": "^21.2.0",
"@openapitools/openapi-generator-cli": "^2.34.0",
"autoprefixer": "^10.5.0",
"jsdom": "^28.0.0",
"postcss": "^8.5.15",
"prettier": "^3.8.1",
"tailwindcss": "^4.3.0",
"typescript": "~5.9.2",
"vitest": "^4.0.8"
}
}