2026-01-14 13:31:23 +00:00
2026-01-13 19:47:05 +00:00
2026-01-13 19:47:05 +00:00
2026-01-14 13:11:07 +00:00
2026-01-14 13:11:07 +00:00
2026-01-13 19:45:44 +00:00
2026-01-13 19:44:02 +00:00
2026-01-13 19:44:02 +00:00
2026-01-13 19:44:02 +00:00
2026-01-14 13:31:23 +00:00

🎵 Klangkiste

Klangkiste ist eine DIY-Kinder-Audiobox mit serverseitiger Verwaltung und vollständiger Offline-Fähigkeit.
Das Ziel ist eine robuste, kindgerechte Box mit einem klaren Prinzip: Tag auflegen, Inhalt hören während Eltern alles komfortabel über eine einfache Web-Oberfläche verwalten können. 🧸

Im Mittelpunkt stehen dabei Offenheit, Kontrolle und Langlebigkeit: keine Cloud-Zwänge, keine geschlossenen Ökosysteme, keine versteckten Abhängigkeiten.

🧭 Vision

Klangkiste soll eine Audiobox sein, die Kindern einen einfachen, bildschirmfreien Zugang zu Medien ermöglicht und Eltern gleichzeitig volle Kontrolle über Inhalte, Daten und Technik gibt.

Das Projekt setzt bewusst auf:

  • lokale Medien statt Cloud-Zwang
  • offene Standards statt geschlossener Ökosysteme
  • langlebige, reparierbare Technik
  • klare Trennung zwischen kindlicher Nutzung und elterlicher Verwaltung

Klangkiste ist kein Produkt, das ersetzt werden soll sondern ein System, das mitwachsen darf.

🚀 Aktueller Funktionsumfang

🎫 NFC-Workflow (simuliert)

  • Tags auflegen und erkennen
  • Speicherung von Tag-IDs in der Datenbank
  • Zuordnung von Tags zu Medienordnern

▶️ Playback-Steuerung (simuliert)

  • Play / Pause
  • Next / Previous
  • Stop
  • Lautstärkeregelung

🎧 Medien & Streaming

  • Spotify-Anbindung (OAuth-Token-Flow vorhanden, Playback-Integration vorbereitet)
  • Webradio-Start über Tags (Workflow vorgesehen)
  • Eigene Medienverwaltung ohne Cloud-Abhängigkeit

📂 Medienverwaltung

  • Anzeige der Ordnerstruktur
  • Upload eigener Inhalte
  • Umbenennen, Verschieben und Löschen von Medien

🧩 Box- & Tag-Management

  • Pairing und Unpairing von Boxen

  • Live-Box-Status und gezielte Commands pro Box

  • Tag-Verwaltung (Alias, Zuordnung, Sperren pro Box)

  • Import lokaler Tags & Ökosystem-Transfer

    • Tags können aus einem fremden Ökosystem übernommen werden, z. B. wenn eine Box temporär mit einem externen Server (anderer Haushalt) verbunden ist.
    • Medien, die dort über fremde Tags abgespielt werden, werden lokal auf der Box gespeichert.
    • Auf Wunsch lassen sich diese Inhalte anschließend in das eigene Ökosystem zurückführen.
    • Dabei können passende eigene Tags erzeugt und den importierten Medien zugeordnet werden.
    • So können Inhalte bewusst „mitgenommen“ werden ohne dauerhafte Bindung an fremde Server oder Strukturen.
  • Tag-Matrix mit Whitelist- und Block-Logik pro Box

📴 Offline-Logik (simuliert)

  • Box arbeitet mit lokalem Cache
  • Server synchronisiert sich automatisch nach Wiederverbindung

📦 Multi-Box-Support

  • Mehrere Boxen gleichzeitig (z. B. box + box2)
  • Geeignet für Familien-Setups und Multi-Box-Tests

🛠️ Geplante Erweiterungen

  • 🔌 Echte NFC-Hardware-Integration (Lesen & Schreiben von Tags)
  • 🔊 Reale Audio-Ausgabe auf der Box (statt Simulation)
  • 📶 Robuste Setup-Flows für WLAN, Updates und Fehlerdiagnose
  • 🎨 GUI-Feinschliff (Mobile-Flows, Accessibility, klare Nutzerführung)
  • 📦 Vereinfachte Installation für Familien (fertiges Image / Installer)
  • 🌍 Anbindung externer Server inkl. Rückführung externer Medien
  • 🏷️ Optionale automatische Tag-Erstellung für importierte Inhalte

🔍 Abgrenzung zu gängigen Audioboxen

Klangkiste verfolgt bewusst einen anderen Ansatz als viele kommerzielle Audioboxen:

  • Keine proprietären Cloud-Bindungen
  • 📁 Eigene Medien und offene Ordnerstrukturen statt geschlossener Ökosysteme
  • 🔄 Flexible Server-Anbindung mit kontrollierter Rückführung von Inhalten
  • 🧮 Fein steuerbare Tag-Matrix pro Box, ideal für Mehrbox-Setups
  • 🔎 Volle Transparenz durch offene APIs und lokale Datenhaltung

📍 Projektstatus

Phase 1.x
Lokale Entwicklung ohne Hardware
(Mock-Boxen, API, GUI)

🗂️ Repository-Struktur

box/            Box-Software (Python, NFC / Playback / Resume, Box-API)
box2/           Zweite Box-Instanz für Multi-Box-Tests
gui/backend/    Backend (Node.js + SQLite, Box- & Medienverwaltung)
gui/frontend/   Control-Panel (React + Vite)
docs/           Dev-Playbook, API-Verträge, Tests

Quickstart (lokal)

Alles starten

./dev.sh

Setup-Web-GUI (Box)

http://127.0.0.1:9000/setup

Backend prüfen

curl http://127.0.0.1:5001/api/boxes

Frontend öffnen

http://127.0.0.1:5174

🌐 Ports (Default)

Dienst Port
Backend API 5001
Frontend GUI 5174
Box API 8000
Setup UI 9000
Box2 API (optional) 8001
Box2 Setup (optional) 9001

🧠 Entwicklungsprinzipien

  • Box und GUI/Backend teilen keinen Code
  • Kommunikation ausschließlich über JSON-basierte APIs
  • Die Box ist Single Source of Truth für Playback und State
  • Der Server verwaltet Tags, Medien und Boxen

⚙️ Technischer Überblick

  • Start über ./dev.sh
  • Frontend → Backend (/api)
  • Backend → Boxen (HTTP)
  • NFC und Playback aktuell simuliert
  • Reale Hardware-Integration folgt

📚 Dokumentation

  • docs/README.md Einstieg und Dev-Playbook
  • docs/dev-workflow.md Start/Stop, Ports, Logs
  • docs/api.md API-Vertrag

🎶 Klangkiste steht für Freiheit, Kontrolle und kindgerechte Einfachheit ein offenes Audiobox-Projekt zum Mitbauen, Verstehen und Erweitern.

S
Description
No description provided
Readme 370 KiB
Languages
JavaScript 49.4%
Python 35.9%
Shell 7.8%
CSS 6.8%
HTML 0.1%