Traversal – Reisebuchungs-Plattform.
Reisebuchungs-Plattform mit öffentlicher Website, Admin-Panel und Kundenbereich – aus einem statischen HTML-Template zu einer vollständigen ASP.NET-Core-8-Anwendung entwickelt.
Traversal – Reisebuchungs-Plattform
Reisebuchungs-Plattform mit öffentlicher Website, Admin-Panel und Kundenbereich – aus einem statischen HTML-Template zu einer vollständigen ASP.NET-Core-8-Anwendung entwickelt.
Über das Projekt
Traversal ist ein fiktiver Reiseveranstalter. Kundinnen und Kunden entdecken Reiseziele, schreiben Bewertungen und reservieren Reisen online. Das Team verwaltet im Admin-Panel Reiseziele, Reservierungen, Kommentare, Reiseführer, Benutzer, Rollen und die Inhalte der Website.
Die Live-Demo ist ohne Registrierung testbar – mit einem Klick als Administrator im Admin-Panel oder als Kunde im Kundenbereich. Alle Änderungen sind erlaubt, die Datenbank wird automatisch zurückgesetzt.
Technische Umsetzung
Ausgangspunkt war ein rein statisches HTML-Template. Daraus ist eine datenbankgestützte Anwendung mit strikter N-Tier-Architektur entstanden: EntityLayer, DataAccessLayer (EF Core, Code First, Migrationen), BusinessLayer (Manager, FluentValidation) und die MVC-Oberfläche mit Areas für Admin und Kunden. Authentifizierung und Rollen laufen über ASP.NET Core Identity, die Datenbank ist eine SQLite-Datei im Projekt. Bereitgestellt wird die Anwendung per Docker auf Render (Region Frankfurt).
Wichtige Funktionen
- Öffentliche Website: Startseite mit Schnellsuche, Reiseziele mit Suche und Sortierung, Detailseiten mit Galerie, Reiseführer und Kontakt.
- Online-Reservierung: Reservierung in zwei Schritten mit Live-Preisberechnung – Kunden können Reservierungen ändern oder stornieren.
- Kundenbereich: Übersicht mit Reise-Countdown, eigene Reisen und Kommentare verwalten, Profil und Passwort ändern.
- Admin-Panel: Dashboard mit Kennzahlen und Diagrammen, Reiseziele mit Bild-Upload, Reservierungen bestätigen oder stornieren.
- Moderation & Inhalte: Kommentare moderieren, Reiseführer verwalten, Seiteninhalte bearbeiten, Nachrichten und Newsletter mit CSV-Export.
- Rollen & Rechte: ASP.NET Core Identity mit den Rollen Admin, Moderator und Member.
Meine Rolle
Eigenständig entwickelt im Rahmen meiner Umschulung zum Fachinformatiker für Anwendungsentwicklung – von der Datenbank über die Geschäftslogik bis zur Oberfläche und dem Deployment.
Architektur
EntityLayer (Entitäten) → DataAccessLayer (Context, Migrationen, GenericRepository<T>, Ef…DAL-Klassen) → BusinessLayer (Service-Interfaces, GenericManager<T>, Validierung, zentrale DI-Registrierung) → TraversalCoreProje (Controller, Areas „Admin“ und „Member“, View Components). Der DbContext wird pro Request erzeugt, Migrationen laufen beim Start automatisch.
Herausforderungen
Ein statisches Template ohne jede Logik musste in eine echte Anwendung mit drei Nutzergruppen verwandelt werden – Besucher, Kunden und Team – mit jeweils eigenen Rechten und Oberflächen. Zusätzlich sollte die Demo öffentlich und ohne Registrierung nutzbar sein.
Lösungen
Klare Rollen (Admin, Moderator, Member) mit eigenen Areas, Reservierung in zwei Schritten mit Live-Preisberechnung, Bewertungen per AJAX ohne Seiten-Neuladen und ein Demo-Modus mit Ein-Klick-Login sowie automatischem Zurücksetzen der Daten.
Code-Highlight
Generisches Repository und generischer Manager als Basis für alle Module · View Components für wiederverwendbare Bereiche · Dashboard mit KPIs und ApexCharts-Diagrammen · Seitennavigation mit X.PagedList · CSV-Export für Nachrichten und Newsletter · Hell-/Dunkel-Modus
Lernpunkte
Code-First-Entwicklung mit EF-Core-Migrationen · Umsetzung mehrerer Benutzerrollen mit eigenen Bereichen · Aus einem statischen Design eine dynamische Anwendung bauen · AJAX für flüssige Interaktionen · Docker und Cloud-Deployment
// Detailansichten

