JSPM

co2advisor

1.0.4
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 5
  • Score
    100M100P100Q27312F
  • License Apache-2.0

The CO2 Advisor API provides real-time insights into the carbon footprint per kilowatt-hour of electricity for various locations in Germany.

Package Exports

  • co2advisor
  • co2advisor/co2advisor.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (co2advisor) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

CO2 Advisor

Ein Express.js-basierter Microservice zur Visualisierung von CO2-Prognosen für den Stromverbrauch in Deutschland. Der Service nutzt die Corrently API, um stündliche CO2-Emissionswerte für den nächsten Tag basierend auf der Postleitzahl anzuzeigen.

Live Demo

Der Service kann unter folgender URL getestet werden: https://co2advisor.corrently.io

Features

  • Webbasierte Benutzeroberfläche mit PLZ-Eingabe
  • Mehrere Ausgabeformate:
    • Interaktive HTML-Ansicht
    • Direkte PNG-Bildausgabe
    • JSON-API für maschinelle Verarbeitung
  • Visualisierung der CO2-Werte als Balkendiagramm
  • Farbcodierung der Werte (grün/gelb/rot) basierend auf Empfehlungen
  • Responsive Design
  • Base64-kodierte Bildausgabe für E-Mail-Integration
  • 5-Minuten-Caching für optimale Performance
  • Konfigurierbar über Umgebungsvariablen

Installation

# Option 1: Globale Installation
npm install -g co2advisor

# Option 2: Repository klonen
git clone https://github.com/yourusername/co2advisor.git
cd co2advisor
npm install

Erforderliche Pakete

{
  "dependencies": {
    "express": "^4.18.2",
    "canvas": "^2.11.2",
    "chart.js": "^4.4.1",
    "chartjs-adapter-moment": "^1.0.1",
    "corrently-api": "^2.0.3",
    "moment": "^2.29.4",
    "dotenv": "^16.0.3"
  }
}

Konfiguration

Umgebungsvariablen

Die Anwendung kann über folgende Umgebungsvariablen konfiguriert werden:

PORT=3000                  # Standard: 3000
APPID=your-corrently-appid # Optional: Standard-AppID wird verwendet

Tipp: Token und APPID können unter https://console.corrently.io erstellt werden.

Diese können auch in einer .env Datei definiert werden.

Verwendung

Als globales Kommando

Nach der globalen Installation:

co2advisor

Als lokale Installation

node index.js

Nach dem Start ist der Service unter http://localhost:3000 erreichbar.

Endpunkte

  1. Startseite

    • URL: /
    • Methode: GET
    • Beschreibung: Zeigt ein Eingabeformular für die Postleitzahl
  2. HTML-Visualisierung

    • URL: /chart?zipcode=<PLZ>
    • Methode: GET
    • Parameter: zipcode (Postleitzahl)
    • Beispiel: /chart?zipcode=69502
    • Beschreibung: Zeigt die CO2-Prognose als interaktives Diagramm
  3. Direkter PNG-Download

    • URL: /chart/<PLZ>.png
    • Methode: GET
    • Beispiel: /chart/69502.png
    • Beschreibung: Liefert das Diagramm als PNG-Datei
    • Cache: 5 Minuten
  4. REST-API

    • URL: /api/chart?zipcode=<PLZ>
    • Methode: GET
    • Parameter: zipcode (Postleitzahl)
    • Beispiel: /api/chart?zipcode=69502
    • Rückgabe: JSON mit Prognosedaten und Base64-kodiertem Diagramm

API-Antwortformat

{
  "location": {
    "city": "Weinheim",
    "zipcode": "69502"
  },
  "data": [...],
  "chart": "data:image/png;base64,..."
}

Fehlermeldungen

Der Service liefert folgende HTTP-Statuscodes:

  • 200 OK: Anfrage erfolgreich
  • 400 Bad Request: Fehlende oder ungültige Postleitzahl
  • 500 Internal Server Error: Serverfehler oder API-Probleme

Browser-Kompatibilität

Der Service wurde mit folgenden Browsern getestet:

  • Chrome 90+
  • Firefox 88+
  • Safari 14+
  • Edge 90+

Entwicklung

Projektstruktur

co2advisor/
├── index.js           # Hauptanwendung
├── package.json       # Projektabhängigkeiten
├── .env              # Umgebungsvariablen (optional)
└── README.md         # Dokumentation

Lokale Entwicklung

# Repository klonen
git clone https://github.com/energychain/co2advisor.git

# Abhängigkeiten installieren
cd co2advisor
npm install

# Entwicklungsserver starten
npm start

Lizenz

Apache-2.0

Mitwirken

Beiträge sind willkommen! Bitte erstellen Sie einen Pull Request oder ein Issue für Vorschläge und Verbesserungen.

Support

Bei Fragen oder Problemen können Sie:

Danksagung


Entwickelt mit ❤️ für eine nachhaltigere Zukunft