Skip to content

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

License

Notifications You must be signed in to change notification settings

energychain/co2advisor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published