Werkstatt-Dashboard
Webbasiertes Werkstattsystem mit Auftragsverwaltung, Lageranbindung und Kundenapp-Integration – FastAPI-Backend, React-Frontend, per Docker auf eigenem Server.
Idee
Ein vollständiges Werkstattsystem, das ohne externe SaaS-Dienste auskommt: Aufträge anlegen, Kunden verwalten, das Lager im Blick behalten und Abläufe von der Annahme bis zur Übergabe abbilden – alles in einer einzigen Oberfläche und selbst gehostet, sodass die Daten im eigenen Haus bleiben.
Die Idee ist direkt aus der Praxis entstanden: Wo sonst Zettel, Excel-Listen und mehrere getrennte Programme nebeneinander laufen, soll ein zentrales Dashboard alle Fäden zusammenführen. Wichtig war mir dabei, das System von Anfang an so zu bauen, dass es mitwachsen kann, statt sich später in eine Sackgasse zu verrennen.
Umsetzung
Das System ist in zwei klar getrennte Schichten gebaut: Ein Python-Backend (FastAPI) stellt die gesamte Logik als REST-API bereit, ein eigenständiges Web-Frontend (React + TypeScript) bildet die Oberfläche. Beide sprechen ausschließlich über die API miteinander – die Frontend-Typen werden automatisch aus der API-Beschreibung (OpenAPI) erzeugt, sodass Front- und Backend stets zusammenpassen.
Das Backend läuft als zustandsloser Dienst (Gunicorn/Uvicorn) mit PostgreSQL als Datenbank, vollständig containerisiert (Docker). Betrieben wird alles auf einem eigenen Heimserver; das Frontend liefert ein nginx aus und ist über einen Cloudflare-Tunnel öffentlich erreichbar – abgesichert durch einen vorgeschalteten Login (Cloudflare Access).
Features
- Auftragsverwaltung mit Liste, Suche, Detailansicht sowie bearbeitbarem Status und Notizen
- Dashboard mit Kennzahlen und Übersicht über aktive Aufträge
- REST-API mit automatisch erzeugten Frontend-Typen (OpenAPI)
- PostgreSQL als Datenbank, zustandsloses Backend
- Vollständig containerisiert (Docker), Betrieb auf eigenem Server
- Öffentlicher Zugang über Cloudflare-Tunnel mit vorgeschaltetem Login (Cloudflare Access)
- Geplant: Lageranbindung an die eigene Datenbank, Etikettendruck und Terminplanung
Aktueller Stand
Das Projekt ist in aktiver Entwicklung, und eine erste Etappe ist live und unter Login ausprobierbar: ein React-Frontend mit Dashboard (Kennzahlen, aktive Aufträge) und Auftragsverwaltung (Liste mit Suche, Detailansicht, Status und Notizen bearbeiten).
Architektonisch wurde das System bewusst von einer reinen Python-Web-App auf die Trennung Backend/Frontend umgestellt, damit die Oberfläche frei weiterwachsen kann. Als Nächstes folgen die übrigen Module – u. a. die Anbindung der Lagerverwaltung an die eigene Datenbank sowie Etikettendruck und Terminplanung.
Live-Demo: frontend.ruebel-labs.com