- Kategorie
- Business Operations
- Jahr
- 2023
- Status
- Fertig
CarpetCareManager
Das Projekt, das meine Richtung geprägt hat.
Meine erste vollständig selbst entwickelte Full-Stack-Anwendung: ein Management-System für Teppichreinigungsbetriebe mit Kunden, Aufträgen, Lieferungen, Benutzerzugängen, Auswertungen und PDF-Dokumenten. Ich habe das Projekt als Portfolio-Anwendung gebaut, um herauszufinden, ob ich eine komplette Business-Anwendung von der Idee bis zum funktionierenden System selbst umsetzen kann.
Problem
Ich wollte untersuchen, wie sich die täglichen Abläufe eines Teppichreinigungsbetriebs in einer einzigen Anwendung abbilden lassen, statt verschiedene Tools dafür zu verwenden. Das Projekt wurde dadurch zu einer Übung darin, den kompletten Ablauf selbst zu entwickeln — von Kunden- und Auftragserfassung bis zu Lieferungen, Auswertungen und Benutzerzugängen.
Kernfunktionen
Technischer Ansatz
Das Frontend habe ich mit React und Sass entwickelt, das Backend mit Node.js, Express und MySQL. SWR übernimmt das Daten-Fetching im Client, während JWT und Argon2 für die Authentifizierung eingesetzt werden. Die Anwendung umfasst eine durchsuchbare Auftragsverwaltung, einen dreistufigen Auftrags-Wizard, Lieferabläufe, PDF-Erstellung, Geschäftsstatistiken und eine Benutzerverwaltung mit eingeschränktem Zugriff für Inhaber.
Was ich verbessern würde
Da dies meine erste größere selbst entwickelte Anwendung war, spiegeln Teile der Codebasis und Architektur meinen damaligen Entwicklungsstand wider. Heute würde ich Frontend und Backend klarer strukturieren, wiederverwendbare Module und Schnittstellen konsequenter definieren, die Testabdeckung ausbauen und einige Implementierungsmuster vereinfachen. Die Erfahrungen aus diesem Projekt haben später auch die Architektur von Luxyco beeinflusst.
- Solo-Projekt
- Ownership
- Full Stack
- Umfang
- Aufträge · Lager · Lieferung
- Kernbereiche
Weitere Produkte
Fragen zu CarpetCareManager?
Gerne gebe ich mehr Einblick in die technischen Entscheidungen und die Umsetzung hinter dem Projekt.