Tuix-Timesheets – Intelligente Zeiterfassung für Engineering-Teams

Architektur-Überblick

☁️ In der Cloud geboren, für Skalierung gebaut

Tuix-Timesheets basiert auf einer cloud-nativen, ereignisgesteuerten Microservices-Architektur mit serverlosen Komponenten. Die Plattform wird vollständig in der AWS Cloud gehostet, um Skalierbarkeit, hohe Verfügbarkeit und Kosteneffizienz sicherzustellen.

🔁 Echtzeit- und ereignisgesteuerte Kommunikation

Die Plattform nutzt AWS SNS, um Echtzeit- und asynchrone Kommunikation zwischen den Services zu ermöglichen. Egal ob Zeiterfassung, Genehmigungsanfrage oder Rechnungserstellung – Ereignisse werden sofort und zuverlässig im gesamten System verteilt.

Timesheets_detailed_img-1_DE.webp image

🧱 Jede Funktion als eigener Baustein

Jede zentrale Funktion – von der Zeiterfassung bis zur Integrations-Synchronisierung und Benachrichtigungen – ist als eigenständiger Microservice umgesetzt. Diese lose gekoppelten Services ermöglichen schnelle Entwicklung, einfache Wartung und zuverlässige Skalierung.

Timesheets_detailed_img-2_DE.webp image

🛡️ Ein sicheres Gateway ohne direkte Exponierung

Alle Client-Anfragen laufen durch ein zentrales API Gateway, das Routing, Drosselung und Sicherheit übernimmt. Hinter den Kulissen läuft jeder Microservice in einer privaten AWS VPC – kein Service ist öffentlich zugänglich. So entsteht eine „secure-by-design“-Basis für sensible Geschäftsdaten.

⚙️ Flexibel im Design, Low-Ops als Standard

Diese Architektur vereint das Beste aus zwei Welten: Modularität für schnelle Weiterentwicklung und serverlose Einfachheit, um den Betriebsaufwand gering zu halten. Tuix-Timesheets kann sich mit minimalem Reibungsverlust an neue Anforderungen anpassen und nahtlos mit steigender Nutzung skalieren.

Timesheets_detailed_img-3_DE.webp image

Technologiestack

Im Kern von Tuix-Timesheets steht ein sorgfältig ausgewählter Stack moderner Technologien, der Leistung, Skalierbarkeit und einfache Wartung ermöglicht. Hier ein Überblick über die Tools, Frameworks und Infrastrukturen – von der Backend-Logik bis zur Deployment-Automatisierung.

🧩 Backend

  • Sprachen: Typescript, Golang

  • Architektur: Microservices als AWS Lambda Functions

  • Datenbank: Jeder Service nutzt eine eigene isolierte PostgreSQL RDS-Datenbank

🔒 Auth & Sicherheit

  • Authentifizierung: Auth0

  • Autorisierung: Rollenbasiert (Admin, Assistant, Employee)

  • Isolation: Alle Services und Datenbanken in einer AWS VPC

  • Zugriffskontrolle: Gesamter eingehender Traffic läuft über API Gateway

🌐 Frontend

  • Hosting: GitHub Pages

  • DNS: Cloudflare DNS

  • Assets: Cloudflare CDN für statische Inhalte

🛠️ DevOps / Infrastruktur

  • IaC: Terraform

  • CI/CD: CircleCI-Pipeline, ausgelöst beim Merge eines Pull Requests

  • Deploy-Flow: Lädt Code in S3 hoch, aktualisiert Dokumentation und konfiguriert Routen im API Gateway

☁️ Cloud-Technologien (AWS):

  • API Gateway – Leitet alle Anfragen und sorgt für Sicherheit

  • AWS Lambda – Führt serverlose Microservices mit Auto-Scaling aus

  • Amazon RDS (PostgreSQL) – Schnelle, zuverlässige relationale Datenbanken pro Service

  • Amazon S3 – Speichert Binärdateien und Deployment-Artefakte

  • AWS SNS – Ermöglicht ereignisgesteuerte Kommunikation zwischen Services

  • AWS SES – Versendet System-E-Mails für Benachrichtigungen und Genehmigungen

Warum dieser Stack und diese Architektur

Wir haben uns bewusst für ein Modell aus Microservices + Serverless entschieden, um unsere Anforderungen als wachsendes, verteiltes Softwareunternehmen zu erfüllen:

  • Microservices teilen Verantwortlichkeiten pro Funktion auf und beschleunigen Entwicklung, Tests und Deployments.

  • Serverless (AWS Lambda) reduziert Infrastruktur-Overhead und skaliert automatisch mit der Nutzung.

  • PostgreSQL (RDS) bietet schnelle, relationale Datenspeicherung für Zeiterfassungsdaten – mit optimierten Abfragen und hoher Ausfallsicherheit.

  • Auth0 ermöglicht schnelle, sichere Authentifizierung mit minimaler Eigenlogik, inklusive rollenbasiertem Zugriff und Multi-Tenant-Support.

  • Cloudflare + GitHub Pages vereinfachen Frontend-Deployment und stellen sicher, dass die UI weltweit schnell und sicher geladen wird.

  • Terraform und CircleCI bringen Automatisierung, Reproduzierbarkeit und Sicherheit in jede Deployment-Runde.

Diese Architektur bietet eine Low-Ops-, High-Scalability-Umgebung, die sich sowohl an leichte als auch an hohe Lasten anpasst.

Funktions-Highlights

Hier sind einige technische Funktionen, die zeigen, wie Tuix-Timesheets über die grundlegende Zeiterfassung hinausgeht:

  • Slack-Zeiteintrag Am Ende jedes Arbeitstages erhalten Entwickler:innen eine vorausgefüllte Slack-Nachricht mit einem Vorschlag für den Zeiteintrag – basierend auf ihrer GitHub- und Jira-Aktivität (Commits, Pull Requests, Kommentare, Ticket-Updates). Diese Nachricht wird automatisch vom System erstellt und über die Slack-Integration versendet. Der:die Mitarbeitende kann sie prüfen, bearbeiten oder zusätzlichen Kontext hinzufügen, bevor sie abgesendet wird. Nach der Bestätigung wird der Eintrag an den Slack-Microservice gesendet und im System gespeichert.

  • Aktivitäts-Tracking über Jira & GitHub Ereignisse wie Commits, PRs, Kommentare, Ticketänderungen und Reviews werden automatisch gesammelt und für tägliche Zusammenfassungen genutzt. So wird manueller Aufwand reduziert und sowohl Manager:innen als auch Mitarbeitende erhalten wertvolle Einblicke in die Aktivitäten.

  • PDF-Generierungsservice Zeiterfassungen und Rechnungen werden aus HTML-Templates in formatierte PDFs umgewandelt – mit einem dedizierten Lambda-Service. So bleiben Berichte konsistent, exportierbar und professionell.

  • Rollenbasierte Oberflächen Jede Rolle (Admin, Assistant, Employee) sieht nur die für sie relevanten Funktionen – von der Projekteinstellung bis zum Rechnungsdownload und zur Urlaubsverwaltung.

Herausforderungen & Learnings

  • Verteilte Events managen Ein ereignisgesteuertes System erfordert genaue Koordination zwischen Services – besonders bei aufeinanderfolgenden Prozessen wie Erfassung, Genehmigung und Rechnungserstellung. AWS SNS half, diese entkoppelte Kommunikation zu organisieren, erforderte aber strenge Validierung der Nachrichtenstruktur.

  • Balance zwischen Einfachheit und Flexibilität im UI Das Interface musste intuitiv bleiben – auch bei komplexeren Anwendungsfällen wie angepassten Zeiterfassungen oder Mehrprojekt-Übersichten.

Ob Zeiterfassung, Genehmigungsprozesse oder automatisierte Berichte – wir helfen Teams, ihre Abläufe in leistungsstarke digitale Produkte zu verwandeln. Lass uns darüber sprechen, wie wir auch Dein Projekt umsetzen können.

Kontaktiere uns
August-Bebel-Str. 9, 72072, Tübingen.
+49 1638 119175