kraeml/DOITPi

README & Projektstruktur optimieren: Sicherheit, Klarheit und Nutzerfreundlichkeit

Open

#25 创建于 2025年11月5日

在 GitHub 查看
 (4 评论) (0 反应) (1 负责人)Shell (0 fork)auto 404
Sicherheitdocumentationgood first issue

仓库指标

Star
 (1 star)
PR 合并指标
 (PR 指标待抓取)

描述

Beschreibung:

Kontext

Dieses Issue sammelt konkrete Vorschläge zur Verbesserung des README und der Projektstruktur von DOITPi. Ziel ist es, das Projekt noch zugänglicher, sicherer und nutzerfreundlicher zu gestalten – besonders für die Zielgruppen Bildungseinrichtungen, Entwickler:innen und Lernende.

Die Vorschläge basieren auf einer detaillierten Analyse der aktuellen README und sind nach Priorität sortiert.


1. 🔒 Kritische Sicherheitshinweise (Priorität: Hoch)

a) Standard-Passwörter

  • Problem:
    • Access Point: 123456789 (fest codiert, unsicher).
    • SSH: Unklar, ob Standard-Passwort oder Schlüssel verwendet wird.
  • Lösung:
    • Access-Point-Passwort zufällig generieren (z. B. bei erstem Start).
    • SSH nur mit Public-Key erlauben (oder Standard-Passwort deutlich warnend kennzeichnen).
  • README-Ergänzung:
    ⚠️ **Sicherheitshinweis:**
    - Das Access-Point-Passwort ist standardmäßig `123456789` – **ändere es nach der ersten Einrichtung!** (Siehe [Wiki: Sicherheit](../../wiki/Sicherheit)).
    - SSH verwendet ein **Standard-Passwort (`doitpi`)** – **deaktiviere es oder nutze Schlüssel!**
    

b) Hostname & Netzwerk

  • Problem: Unklar, ob der Hostname automatisch gesetzt wird (z. B. doitpi-[ZUFALLSID]).
  • Lösung: Im README präzisieren:
    🔧 **Automatische Einrichtung:**
    - Hostname: `doitpi-[ZUFALLSID]` (wird beim ersten Start generiert).
    - Access Point: Aktiviert sich **nur ohne WLAN** (SSID: `AP-<HOSTNAME>`).
    

2. 📖 Dokumentation & Klarheit (Priorität: Hoch)

a) „Vollautomatisch“ definieren

  • Problem: Der Begriff ist mehrdeutig.
  • Lösung: Kurze Erklärung hinzufügen (siehe oben).

b) Unterstützte Hardware

  • Problem: Keine klare Liste der unterstützten Raspberry-Pi-Modelle.
  • Lösung: Tabelle oder Liste einfügen:
    **Unterstützte Hardware:**
    | Modell               | Status          | Einschränkungen                     |
    |----------------------|-----------------|-------------------------------------|
    | Raspberry Pi 4       | ✅ Empfohlen    | Volle ROS2-Unterstützung            |
    | Raspberry Pi 5       | ⚠️ Experimentell | ROS2 möglicherweise instabil       |
    | Raspberry Pi Zero 2 W | ⚠️ Eingeschränkt | Kein ROS2, nur IoT/DevOps-Tools    |
    

c) Redundanzen in Tabellen bereinigen

  • Problem: Doppelte Einträge (z. B. „Python, Bash, YAML“).
  • Lösung: Tabellen thematisch trennen (z. B. „Programmiersprachen“ vs. „Anwendungsbereiche“).

3. 🛠️ GitHub-Optimierung (Priorität: Mittel)

a) Badges hinzufügen

  • Vorschlag:
    [![GitHub Release](https://img.shields.io/github/v/release/kraeml/DOITPi)](https://github.com/kraeml/DOITPi/releases)
    [![GitHub License](https://img.shields.io/github/license/kraeml/DOITPi)](LICENSE)
    [![Build Status](https://img.shields.io/github/actions/workflow/status/kraeml/DOITPi/build.yml)](https://github.com/kraeml/DOITPi/actions)
    

b) Issue-Templates erstellen

c) CONTRIBUTING.md auslagern

  • Inhalt:
    • Schritt-für-Schritt-Anleitung für Pull Requests.
    • Code-Standards (z. B. shellcheck für Shell-Skripte).
    • Verweis auf „Good First Issues“.

4. 🎨 Visuelle Elemente (Priorität: Niedrig)

a) Screenshots/GIFs

  • Vorschlag: Bilder hinzufügen für:
    • Node-RED-Flow (Beispiel: IoT-Sensor → MQTT → Grafana).
    • CodeServer-Oberfläche im Browser.
    • Access-Point-Anmeldung (Passwort unkenntlich machen).

b) Architekturdiagramm

  • Vorschlag: Einfaches Mermaid-Diagramm:
    graph TD
      A[Raspberry Pi] --> B[ROS2]
      A --> C[Node-RED]
      A --> D[Mosquitto MQTT]
      C --> D
      B --> D
      D --> E[InfluxDB/Grafana]
    

5. 📚 Wiki & Externe Links (Priorität: Niedrig)

  • Problem: Einige Wiki-Links könnten veraltet sein.
  • Lösung:
    • Wiki-Seiten priorisieren (z. B. „Schnellstart“, „Sicherheit“).
    • Externe Links mit GitHub Actions automatisch prüfen.

Fragen an die Community

  1. Sicherheit: Soll das Access-Point-Passwort zufällig generiert werden (erfordert Code-Änderungen)?
  2. Dokumentation: Welche Hardware soll offiziell unterstützt werden?
  3. GitHub: Soll ich Pull Requests für die README-Änderungen erstellen?

贡献者指南