Nutzer können Artikel erstellen, bearbeiten, verschieben und löschen sowie Lagerorte flexibel organisieren. Kritische Bestandswerte lassen sich definieren, um Engpässe frühzeitig zu erkennen. Zusätzlich können mehrere Artikel gesammelt und gebündelt entnommen werden.
Die Anwendung setzt auf eine JWT-basierte Authentifizierung und Refresh Tokens, wobei Passwörter und Token-IDs sicher gehasht in einer PostgreSQL-Datenbank gespeichert werden. Dadurch wird ein sicheres und skalierbares Authentifizierungs- und Sitzungsmanagement gewährleistet.
Das System verfügt über ein Role-Based Access Control (RBAC) mit drei Ebenen: Server Owner, Admin und User. Der Server Owner wird beim Docker-Setup initial erstellt und besitzt volle Systemkontrolle inkl. Benutzerverwaltung. Admins verwalten Lager, Regale und Artikel inklusive Löschrechten, während User operative Lagerprozesse wie Einlagern, Verschieben und Entnehmen durchführen.
Backend-seitig ist die Anwendung als RESTful API in Go umgesetzt. SQLC sorgt für typsichere Datenbankzugriffe, während Goose für versionierte Migrationen verwendet wird. Die Benutzeroberfläche wird serverseitig mit Templ gerendert und durch HTMX für dynamische, request-basierte Interaktionen ergänzt. Das UI-Styling basiert auf TailwindCSS.
Die Anwendung ist vollständig containerisiert (Docker) und läuft in einem Multi-Container-Setup mit separatem Backend und PostgreSQL-Datenbank – ideal für reproduzierbares Deployment & Self-Hosting.
Angewandte Skills
Dieses Projekt wurde als internes Firmentool entwickelt, weswegen ich Teile des Quellcodes nur auf Anfrage bereitstellen darf.
Das in Go geschriebene Tool erstellt mithilfe von pg_dump vollständige Datenbank-Backups und verschlüsselt diese anschließend mit AES-256-GCM, bevor sie sicher gespeichert werden. Anschließend können verschlüsselte Backups auch mit Hilfe des Tools wieder entschlüsselt und vollständig wiederhergestellt werden.
Darüber hinaus lässt sich das Tool über ein Shell-Skript automatisieren und in Kombination mit rsync für Remote-Backups nutzen.
Angewandte Skills
Dieses Script generiert A4-Seiten im .pdf Format mit QR-Codes, die auf einer Liste von Seriennummern basieren. Jeder QR-Code enthält eine eindeutige Seriennummer, welche zusätzlich auch über dem Code angezeigt wird. Die QR-Codes sind in einem Rasterlayout angeordnet, sodass die .pdf Datei für den Druck und das Laserschneiden optimiert ist.
Angewandte Skills
Diese beiden Spiele habe ich 2020 mit HTML, CSS und JavaScript erstellt. Im Anschluss habe ich die Website mit AndroidStudio und WebView in eine ausführbare Android .apk umgewandelt.
Angewandte Skills
Dies ist ein minimalistisches Remake des Klassikers Asteroids (1979), welches ich in Python geschrieben habe. Das Spiel enthält eigene Soundeffekte, eine selbst komponierte Background-Musik und ein einfaches Scoring-System.
Angewandte Skills
Diese Website entstand während meiner Schullaufbahn im Zusammenhang mit einem Leistungskurs-Ausflug nach Dublin, Irland. In diesem Projekt wurden HTML und Bootstrap CSS verwendet.
Angewandte Skills