Zum Inhalt springen
Betriebszeitung

von Tom SchornFull-Stack und Cloud

Projekte

Projekte

Drei Projekte, an denen Tom Schorn gearbeitet hat, jeweils mit seinem eigenen Anteil.

Fortsetzung von Seite 1

Haushalt

Fünf Jahre Excel, dann verrutschten die Spalten

Duofy: eine Finanz-App für die Haushaltsplanung, zu zweit oder allein

Mehr als fünf Jahre lang führte seine Familie ihre Haushaltsplanung in einer Excel-Liste, nach der 50-30-20-Regel. Sie funktionierte gut, bis Formeln nicht mehr stimmten und Spalten verrutschten. Dazu kam ein Problem, das nur beim Zusammenleben auftritt: Ein gemeinsamer Plan zeigt nicht, dass einem Partner an einem bestimmten Tag das Geld fehlt.

Aus dieser Erfahrung entwickelte Tom Schorn Duofy. Die Anwendung fragt vorab, wohin das Geld gehen soll. Am Monatsanfang plant man, was ansteht, was man ausgeben will und wo man investiert, und hakt es später ab. Jede Person hat einen eigenen Plan und ein eigenes Konto; was gemeinsam getragen wird, erscheint zusätzlich in einer Haushaltsansicht. Duofy funktioniert auch für eine Person allein. Konzept und Entwicklung stammen von Tom Schorn, beim Programmieren unterstützt ihn Claude Code.

„Ich brauche klare Strukturen, Richtwerte, an denen ich mich orientieren kann“, erklärt Schorn. „Ich mache mir am Anfang des Monats einen Plan: Was steht an, was möchte ich ausgeben, wo investiere ich?“

Schwierig war die Mischung aus Monatsblick und Planung: Duofy erfasst auf Monatsbasis, legt den Schwerpunkt aber auf das Planen. „Es ist aus meinem Problem entstanden und muss für andere allgemein nutzbar sein. Also musste ich analysieren, wie sich ein System entwickeln lässt, das den Ansatz des eigentlichen Problems umsetzt, sich aber auf andere Personen übertragen lässt“, erklärt Schorn.

Duofy läuft als drei Container mit zusammen unter 256 MB Arbeitsspeicher und lässt sich selbst betreiben. Es steht unter der AGPL-3.0, ist noch unter Version 1.0 und wird weiterentwickelt. Die Excel-Liste läuft in der Familie noch, bis Duofy einsatzfähig ist.

Stand: unter Version 1.0, wird weiterentwickelt · AGPL-3.0

Technik: Python (FastAPI, SQLAlchemy, Alembic), PostgreSQL, React mit TypeScript und Tailwind, Docker, GitHub Actions.

Duofy, Monatsplan
1 Der Monatsplan in Duofy

Fortsetzung von Seite 1

Screenshot des Florabase-Dashboards mit Testdaten: Pflanzen, Meldungen und letzte Aktivität
2 Das Dashboard von Florabase, hier mit Testdaten

Anbau

Florabase: ein Werkzeug für den Pflanzenanbau

Nicht jede Pflanze wächst gleich, und Erde und Hydroponik unterscheiden sich grundlegend. Für Florabase entschied sich Tom Schorn im Full-Stack-Track der Masterschool: Er brauchte ein Projekt, und ihn interessieren Pflanzen sehr, auch die hydroponischen. Das Werkzeug sollte von Anfang an auch für andere taugen.

„Ich bin Florabase als Sideprojekt gestartet, weil ich selbst kein Tool gefunden habe, das wirklich für Hobbygärtner gebaut ist“, teilte er der Redaktion mit. „Nicht jede Pflanze wächst identisch. Jede Pflanze hat ihre eigenen Spezifikationen“, so Schorn.

Herr Schorn dokumentiert darin, was er getan und welche Dünger er verwendet hat, und berechnet Düngermengen, auch bei Komponentendüngern. So wird der Anbau kontrollierter. Die erste Version hatte einen KI-Berater, der aus Angaben und Logbüchern Empfehlungen gab. Wegen des EU-AI-Acts schaltete Schorn ihn ab. Heute liegt der Schwerpunkt auf Automatisierung: Geräte und Controller anderer Hersteller sollen sich einbinden lassen, sodass Steuerung, Überwachung und Protokoll an einem Ort liegen. Für Anfänger gibt es zusätzlich eine Diagnose von Pflanzenkrankheiten per Foto, die über die Schnittstelle eines externen Anbieters läuft.

Stand: Version 2 ist im Einsatz, Version 3 wird neu geplant, vorher steht ein Review an.

Technik: React, shadcn/ui (App); Astro, Directus (Frontpage und Inhalte); Python, FastAPI, PostgreSQL, REST API (Backend)

Fortsetzung von Seite 1

Cloud

Vom lokalen Setup in die AWS-Cloud

GroceryMate on AWS: Cloud-Deployment einer bestehenden E-Commerce-Anwendung

Im Cloud-Engineering-Abschlussprojekt der Masterschool brachte Tom Schorn eine bestehende Webshop-Anwendung für Lebensmittel in die AWS-Cloud. Die Anwendung (Python mit Flask, React, PostgreSQL) stammt von Alejandro Roman Ibanez aus dem Masterschool-Programm. Schorns Anteil war der Cloud-Teil, den er allein umsetzte. „Zuerst habe ich analysiert: Was ist vorhanden, was wird benötigt, und was braucht der Kunde wirklich?“, erklärt Schorn.

Das Ergebnis: eine VPC mit einer Availability Zone und einem öffentlichen Subnetz, eine EC2-Instanz als Anwendungsserver mit Docker, eine RDS-Datenbank mit PostgreSQL, dazu Security Groups und IAM-Rollen. Später zeigte sich, dass der Kunde über Ausfälle informiert werden wollte. Schorn baute dafür einen Health-Check: Eine Lambda-Funktion mit eigener IAM-Rolle wird über EventBridge ausgelöst, protokolliert in CloudWatch und meldet über ein SNS-Topic per E-Mail.

Schorns Anteil

Die Anwendung GroceryMate stammt von Alejandro Roman Ibanez aus dem Masterschool-Programm. An einem Fork übernahm Tom Schorn ausschließlich den Cloud- und Betriebsteil: Containerisierung, Infrastruktur und Deployment auf AWS. Der Anwendungscode ist die Vorlage.

Architektur von GroceryMate auf AWSInnerhalb der AWS Cloud liegt eine VPC mit einer Availability Zone und einem öffentlichen Subnetz. Darin läuft eine EC2-Instanz als Anwendungsserver mit Docker. Die RDS-Datenbank mit PostgreSQL liegt in derselben Availability Zone, aber außerhalb des Subnetzes; zwischen EC2 und RDS ist keine Verbindung eingezeichnet. Security Groups und IAM-Rollen gehören zum Aufbau. Außerhalb der VPC läuft die Health-Check-Kette: Amazon EventBridge löst eine AWS-Lambda-Funktion mit eigener IAM-Rolle aus. Die Lambda-Funktion schreibt Logs in Amazon CloudWatch und meldet an Amazon SNS, das eine E-Mail verschickt.AWS CloudVPCAvailability ZoneÖffentliches SubnetzAmazon EC2Anwendungsserver, DockerAmazon RDSPostgreSQLSecurity Groups, IAM-RollenAmazon EventBridgeAWS LambdaHealth-Check,eigene IAM-RolleAmazon CloudWatchLogsAmazon SNSBenachrichtigungE-Mail
3 Architektur von GroceryMate auf AWS: links das Netzwerk mit Anwendungsserver und Datenbank, rechts die Health-Check-Kette. Symbole: AWS Architecture Icons.

Abschlussprojekt Cloud Engineering · abgeschlossen

Anwendung (Vorlage): Python, Flask, React, PostgreSQL

Schorns Teil: AWS, VPC, EC2, RDS, Lambda, EventBridge, CloudWatch, SNS, IAM, Docker

Fortsetzung von Seite 1

Zu Hause

Ein Netzwerk, größer als nötig

Zu Hause betreibt Tom Schorn ein Homelab mit Proxmox, LXC-Containern und virtuellen Maschinen, dazu ein Netzwerk mit VLANs. „Ich muss zugeben, ein bisschen overengineered“, sagt Schorn über sein Netzwerk. Auch die Nachbarn hängen daran: Schorn versorgt sie mit Internet. Er wollte Dinge sauber trennen und kontrollieren können, unter anderem sein Smart Home und seine Bastelprojekte.

Kurioses

Zum 32. Geburtstag hat Schorn seiner Community ein kleines Extra geschenkt. Weiter auf Seite 6

Mehr auf GitHub. Weitere Beiträge und Code-Beispiele: github.com/tom-schorn