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.
Es gibt drei User-Rollen: 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 können.
Backend-seitig ist die Anwendung in Go umgesetzt und stellt HTTP-Endpunkte für CRUD-Operationen bereit. Statt JSON liefert das Backend dabei serverseitig gerendertes HTML aus, das über HTMX dynamisch ins Frontend eingebunden wird. SQLC sorgt für typsichere Datenbankzugriffe, während Goose für versionierte Migrationen verwendet wird. Die Benutzeroberfläche wird mit Templ gerendert und das UI-Styling basiert auf TailwindCSS.
Die Anwendung ist vollständig containerisiert (Docker) und läuft in einem Container-Setup mit Backend und PostgreSQL-Datenbank, wodurch die Anwendung auch zum selfhosting geeignet ist.
Angewandte Skills
Dieses Projekt wurde als internes Firmentool entwickelt, weswegen ich Teile des Quellcodes nur auf Anfrage bereitstellen darf. Eine separat entwickelte API mit zusätzlichen Endpunkten, die in der Hauptanwendung nicht vorgesehen sind, durfte ich öffentlich einsehbar machen.
zur separaten API auf Github →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
Bei dieser Anwendung handelt es sich um eine Implementierung der RealWorld Conduit Spezifikation, einem Fullstack Medium.com Klon. Die Anwendung stellt eine RESTful API mit Endpunkten für Nutzer, Artikel, Kommentare und Tags bereit und wurde im Backend in Go geschrieben. Über JWT erfolgt die Authentifizierung, wodurch geschützte Endpunkte nur für angemeldete Nutzer zugänglich sind. Gespeichert werden die Posts in einer PostgreSQL-Datenbank.
Das Frontend ist mit React und TypeScript umgesetzt und kommuniziert über die API mit dem Backend.
Angewandte Skills
Mit dieser Anwendung lassen sich Anschreiben sowie Lebenslauf erstellen und die eingetragenen Daten in einer .json Datei exportieren und später importieren.
Die Ausgabe der Bewerbungsunterlagen ist druckoptimiert und erfolgt als .pdf Datei
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
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