Online Reservierung

in aktiver Weiterentwicklung (Rebuild)

Dieses Projekt wird aktuell neu aufgebaut. Der Fokus liegt auf einer modularen Architektur mit Java, einer späteren Angular-Frontend-Schicht und praxisnahen DevOps-Workflows.

Kurzüberblick

  • Online-Reservierungsplattform für Kund:innen und Unternehmen
  • Serviceorientierte Architektur mit Auth Service, zentraler API und Web-Frontend
  • Backend: Java (Jakarta EE / Servlet-basierter Stack)
  • Frontend: aktuell HTML, später Angular (TypeScript)
  • Containerbasierte Entwicklung mit Docker & docker compose
  • CI/CD mit Maven und später Jenkins (geplant)
  • Zielplattform: Kubernetes
  • Inkrementelle Releases mit klar definierten MVP-Stufen

Dieses Projekt ist Teil meines Developer-Portfolios und begleitet meine bewusste Weiterentwicklung in Richtung Backend Engineering (Java), API Design und DevOps-orientierter Systementwicklung.

Überblick

Ich entwickle eine Online-Reservierungsplattform für zwei unterschiedliche Nutzergruppen:

  • Kund:innen, die Termine buchen möchten
  • Dienstleister:innen wie Friseur-, Massage- oder Nagelstudios, die Leistungen, Mitarbeitende und Buchungen verwalten

Im Fokus stehen dabei nicht nur Funktionen, sondern auch:

  • klare Architekturentscheidungen
  • saubere Strukturen
  • realistische Entwicklungsprozesse
  • schrittweise Releases
  • nachvollziehbare technische Entscheidungen

Projektstatus & Vorgehensweise

Das Projekt wird bewusst inkrementell aufgebaut.

  • Funktionen werden über mehrere Releases ergänzt
  • Services werden einzeln entwickelt und getestet
  • frühe lauffähige Zwischenstände sind wichtiger als ein überladener Erstentwurf

👉 lieber stabile kleine Versionen als große unfertige Visionen

Architektur – aktueller Stand

Auth Service (bereits umgesetzt – Pre-Release v0.1)

Eigenständiger Java-Service für Benutzerzugänge.

Bereits umgesetzt:
  • Registrierung neuer Benutzer:innen
  • Login mit E-Mail und Passwort
  • Passwort-Hashing mit BCrypt
  • Speicherung in MariaDB
  • lokale Entwicklungsumgebung mit Docker Compose
Technologien:
  • Java 17
  • Jakarta EE (Servlet API)
  • Apache Tomcat 10
  • Maven
  • MariaDB
  • JDBC
  • Docker
Spätere Erweiterungen:
  • JWT Tokens
  • Token-Validierung
  • Refresh Tokens
  • Rollen / Rechte (RBAC)
  • OAuth / OIDC
  • Passwort Reset
  • E-Mail Verifikation

Zentrale API / Business Logik (Release v0.1 geplant)

Gemeinsamer Backend-Service für fachliche Prozesse.

Geplant für v0.1:
  • Kund:in anlegen
  • Dienstleister:in anlegen
  • Termin bei Dienstleister:in buchen
  • Basislogik für Terminverwaltung

Frontend / Web (Release v0.1 geplant)

Geplant für v0.1:
  • einfache HTML-Oberfläche
  • Registrierung
  • Login
  • Terminbuchung

Ziel: kompletter End-to-End-Flow zwischen Benutzeroberfläche und Backend

Später geplant:
  • Migration auf Angular (TypeScript)
  • modernes UI / UX
  • geschützte Bereiche für Kund:innen und Unternehmen

Entwicklungs- & Zielumgebung

Die Entwicklung erfolgt mit:

  • Docker
  • docker compose

Dadurch kann ich:

  • mehrere Services konsistent lokal betreiben
  • reproduzierbare Umgebungen schaffen
  • früh mit realistischen Service-Strukturen arbeiten

Zielplattform

Das Projekt ist so konzipiert, dass es später auf Kubernetes betrieben werden kann.

  • Containerisierung von Anfang an
  • klare Servicegrenzen
  • spätere CI/CD Integration
  • Deployment auf Kubernetes als Ausbauziel

Pipeline & Qualitätssicherung

Aktuell:

  • Maven Builds lokal
  • GitHub Actions Pipeline für automatisierte Builds
  • Build bei Push / Pull Request
  • lokale Integrationstests per curl / API Tests
  • Docker-basierte Entwicklungsumgebung

Geplant:

  • automatisierte Tests erweitern
  • Container Image Builds
  • Deployment Workflows
  • Jenkins als zusätzliche CI/CD Lernstrecke / Enterprise-Variante

Zielbild (spätere Version)

Die Anwendung soll:

  • zwei klar getrennte Nutzererlebnisse bieten
  • eine saubere erweiterbare Backend-Architektur besitzen
  • moderne Authentifizierung mit JWT / OAuth nutzen
  • containerisiert betrieben werden
  • reale Entwicklungs- und DevOps-Prozesse abbilden

Das Projekt dient als praktischer Rahmen, um Backend-, Architektur- und Betriebswissen sichtbar umzusetzen.

🔗 Projekt & Repositories

Projekt-Overview:
https://github.com/RubinaWeinzettl/online-reservation-overview

Auth (Java):
https://github.com/RubinaWeinzettl/online-reservation-auth-java

API:
https://github.com/RubinaWeinzettl/online-reservation-api-java

Web:
https://github.com/RubinaWeinzettl/online-reservation-web