npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

co2advisor

v1.0.4

Published

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

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:

  • Ein Issue im GitHub Repository erstellen
  • Den Service unter https://co2advisor.corrently.io testen
  • Die API-Dokumentation unter https://api.corrently.io/v2.0/docs konsultieren

Danksagung


Entwickelt mit ❤️ für eine nachhaltigere Zukunft