Zum Inhalt springen
Alle Projekte
SoftwareentwicklungAbgeschlossen2025

Rent Tracker

Rent Tracker ist eine Web-App zur Mietverwaltung, gebaut mit einem Teammitglied für ein Full-Stack-Modul an der HWR Berlin. Sie deckt die tägliche Verwaltung eines kleinen Vermieters ab — Wohnungen, Mieter, Verträge und Zahlungen je Monat — und ergänzt ein Erinnerungssystem, das berechnet, welche Mieten noch offen sind, und sie zu einem von jedem Nutzer selbst gewählten Zeitplan über Telegram oder E-Mail hinausschickt.

Rolle
Mitentwickler (2er-Team)
Jahr
2025
Status
Abgeschlossen
Kategorie
Softwareentwicklung
Werkzeuge & Technologien
PythonFlaskJinja2SQLiteAPSchedulerpython-telegram-botSendGrid
Rent Tracker cover — an editorial grid suggesting a rent-payment schedule.

Das Problem

Kleine private Vermieter erfassen Miete in Tabellen oder im Kopf und verlieren den Überblick, welcher Mieter welchen Monat bezahlt hat. Rent Tracker zentralisiert diese Erfassung und verwandelt „Haben sie gezahlt?“ in eine automatische monatliche Erinnerung.

Kontext

Ein Modul „Full-Stack Web Development“ an der HWR Berlin, Sommersemester 2025 (das Projekt lief von April bis Juli 2025). Wir beide teilten die Arbeit ziemlich gleichmäßig über Routen, den Erinnerungsdienst und die Integrationen auf.

Prozess

Berechnen, was offen ist

Die Kernlogik kapselt die Erinnerungsberechnung in einem einzigen Dienst: Das Fenster unbezahlter Mieten wird über einen gleitenden Bereich von Monaten berechnet und gegen eine Menge bereits bezahlter (Wohnung, Monat)-Paare für schnelle Abfragen abgeglichen. Ein nächtlicher Job verteilt die Erinnerungen dann an die von jedem Nutzer gewählten Kanäle.

  • CRUD für Wohnungen, Mieter, Verträge und Zahlungen, je Nutzer abgegrenzt
  • Signierte, zeitlich begrenzte Tokens für E-Mail-Bestätigung und Passwort-Reset
  • Erinnerungstag je Nutzer sowie Umschalter für die Kanäle Telegram/E-Mail

Zentrale Entscheidungen

Kanalunabhängige Erinnerungen

Die Zustellung wird durch Flags je Nutzer (use_email / use_telegram) und ein Erinnerungstag-Feld gesteuert, sodass derselbe nächtliche Job an einen oder beide Kanäle verteilen kann. Ein eigenständiger Telegram-Bot pollt eine token-authentifizierte JSON-API nach heute fälligen Nutzern.

Ergebnisse

  • Eine funktionierende App mit zwei Integrationen (Telegram-Bot + SendGrid-E-Mail) auf einem Flask/SQLite-Stack ausgeliefert, mit Authentifizierung, E-Mail-Bestätigung und token-basiertem Passwort-Reset.
  • Fristgerecht fertiggestellt und eingereicht, mit umfangreicher Dokumentation — Architektur, Datenmodell, Designentscheidungen, drei Runden Figma-Iterationen und einer Nutzerevaluation.

Gelernte Lektionen

  • Die Persistenzschicht war am Ende zwischen SQLAlchemy für das Nutzermodell und einer handgeschriebenen rohen SQLite-Schicht für alles andere aufgeteilt — damals praktisch, aber eine Inkonsistenz, die ich bei einer Überarbeitung vereinheitlichen würde.
  • Der Umfang der Studienarbeit bedeutete, ohne automatisierte Testsuite oder CI auszuliefern — was ich beim nächsten Mal als nicht verhandelbar behandeln würde.