Github Spielesammlung-Website Dublin-Website

Portfolio Website von

Sebastian Lein

Kleine Übersicht über meine Projekte

Lager- & Inventarverwaltungssystem

RESTful Web Applikation zur Verwaltung von Lagerstrukturen, Regalen, Artikeln und Benutzern.

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

Go (Backend) PostgreSQL HTMX SQLC Goose Migrations Templ (Go Templates) Docker TailwindCSS Git RESTful Architecture

Dieses Projekt wurde als internes Firmentool entwickelt, weswegen ich Teile des Quellcodes nur auf Anfrage bereitstellen darf.

Encrypted PostgreSQL Backups

CLI-Tool zur automatisierten Erstellung, Verschlüsselung und Wiederherstellung von PostgreSQL-Backups in Docker-Umgebungen.

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

Go Bash Docker AES-256-GCM rsync Git
zum Projekt auf Github →
Vorschau Bild für QR Stickerbogen

Ausdruckbarer QR-Code Stickerbogen

Python-Script zur Erstellung von QR-Codes und Speicherung als .pdf

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

Python
zum Projekt auf Github →
Vorschau Bild zu meiner Spielesammlungs-Website

Hangman und Matching Game

Eine kleine JavaScript Spielesammlung

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

JavaScript HTML CSS
zur Website →
Vorschau Bild für Asteroids-Game in Python

Simplified Asteroids

Einfaches Computerspiel umgesetzt durch Python mit PyGame

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

Python Sound-Design
zum Projekt auf Github →
Vorschau Bild zur Dublin Projekt Website

Dublin 2K17 Website

Eine kleine JavaScript Spielesammlung

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

HTML CSS
zur Website →