Skip to content

Luisi420/cloudcomputing

Repository files navigation

TravelJournal

TravelJournal ist eine selbst gehostete, interaktive Webanwendung zur Dokumentation und Visualisierung persönlicher Reisen auf einer Karte. Die Anwendung richtet sich an Reiseliebhaber, die ihre Trips visuell festhalten und teilen möchten.

Funktionen

  • Reisedokumentation
    Erfasse Reisen mit:

    • Standort (Geo-Koordinaten)
    • Datum
    • Titel und Beschreibung
  • Kartenvisualisierung
    Interaktive Darstellung aller Reiseziele via Leaflet, inkl.:

    • Zoom & Marker
    • Benutzerabhängige Anzeige
  • Medienverwaltung

    • Upload von Fotos zu einzelnen Reisen
    • Anzeige im Reiseverlauf
    • Speicherung im MinIO (S3-kompatibel)
  • Benutzerverwaltung

    • Registrierung & Login via JWT
    • Zugriffskontrolle über Spring Security

Systemarchitektur

1. Frontend (React.js + Leaflet)

  • Containerisiert als traveljournal-frontend
  • Single-Page-Application mit dynamischem Routing
  • Kommunikation via REST-API

2. Backend (Spring Boot 3.2)

  • Containerisiert als traveljournal-backend
  • API-Endpunkte:
    • POST /api/auth – Authentifizierung
    • GET/POST /api/trips – Reisen verwalten
    • POST /api/images – Bilder hochladen
  • JWT-Authentifizierung über Spring Security

3. Datenbank (MySQL 8.0)

  • Relationales Datenmodell mit Foreign Key Constraints
  • High Availability mit Primary-Replica-Setup (via Patroni)

4. Storage & Caching

  • Bilder: S3-kompatibler MinIO-Speicher (geo-redundant)
  • Session Cache: Redis

5. Infrastruktur

  • Orchestrierung: Kubernetes (GCP)
  • CI/CD: GitLab-Pipeline inkl. Container Registry

Datenmodell

User
├── id (UUID)
├── username (String)
└── password_hash (String)

Trip
├── id (UUID)
├── user_id (UUID, FK → User)
├── title (String)
├── description (Text)
├── location (Latitude, Longitude)
└── date (Date)

Image
├── id (UUID)
├── trip_id (UUID, FK → Trip)
└── storage_path (String)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors