Eine iOS-App zum Verwalten und Dokumentieren von Kreuzfahrt-Reisen.
๐ Changelog | ๐ Dokumentation
- ๐ Kreuzfahrten mit allen Details erfassen (Schiff, Reederei, Kabine, Buchungsnummer)
- ๐บ๏ธ Interaktive Karte mit Routen-Visualisierung
- ๐ธ Fotos zu jeder Reise hinzufรผgen
- โญ Bewertungssystem
- ๐ Seetage erfassen
- ๐ค Gemini 2.5 Flash Integration - Buchungsbestรคtigungen per KI analysieren
- Automatische Extraktion von:
- Reisedaten (Titel, Datum, Schiff, Reederei)
- Hรคfen mit Ankunfts-/Abfahrtszeiten
- Seetage
- ๐ Europa, Karibik, Asien, Ozeanien, Afrika, VAE/Oman
- Autocomplete bei der Hafen-Suche
- Automatische Koordinaten-Zuordnung
- ๐ Kreuzfahrten pro Jahr
- ๐ฐ Ausgaben nach Kategorie
- ๐ Top Reedereien
- Besuchte Lรคnder & Hรคfen
- ๐ธ Ausgaben-Tracking (Gerรคte-Locale-Wรคhrung, kein hartkodiertes EUR)
- ๐พ Export/Import als ZIP (verlustfrei, inkl. Reise- und Hafenbilder)
- ๐ Lokale Erinnerungen vor Reisestart (keine Push-Notifications/APNs)
- ๐จ Dark Mode Support
- ๐ฑ Natives iOS-Design
| Komponente | Technologie |
|---|---|
| Sprache | Swift 6 |
| UI Framework | SwiftUI |
| Datenbank | SwiftData |
| Karten | MapKit |
| Charts | Swift Charts |
| AI | Google Gemini 2.5 Flash |
| Sicherheit | Keychain Services (Generic Password, gerรคte-gebunden) |
| Notifications | UserNotifications (lokal) |
ShipTrip/
โโโ ShipTripApp.swift # App Entry Point (kein separater App/-Ordner)
โโโ Models/
โ โโโ Cruise.swift # Kreuzfahrt-Model
โ โโโ Port.swift # Hafen-Model
โ โโโ Expense.swift # Ausgaben-Model
โ โโโ Deal.swift # Angebote-Model
โ โโโ Photo.swift # Foto-Model
โ โโโ ShippingLine.swift # Reederei-Daten
โ โโโ PortSuggestion.swift # ~1.900 Hafen-Datenbank (Wikidata-Import)
โโโ Views/
โ โโโ Cruises/ # Liste, Detail, Formulare, Hero-Card, Timeline
โ โโโ Map/ # MapView.swift โ Weltkarte mit Routen
โ โโโ Deals/ # DealsView.swift โ Wunschreisen
โ โโโ Stats/ # StatsView.swift โ Statistiken
โ โโโ Settings/ # SettingsView.swift โ Einstellungen, Export/Import
โโโ Services/
โ โโโ GeminiService.swift # KI-Integration
โ โโโ KeychainService.swift # Sichere Speicherung des API-Keys
โ โโโ NotificationService.swift # Lokale Erinnerungen (kein APNs)
โ โโโ ExportImportService.swift # ZIP-/JSON-Export/-Import
โ โโโ ZipArchiveWriter.swift # ZIP-Erstellung (STORED)
โ โโโ ZipArchiveReader.swift # ZIP-Extraktion (Zip-Slip-/Bomben-Schutz)
โ โโโ CRC32.swift # CRC-32 fรผr den ZIP-Stack
โโโ Assets.xcassets/ # App Icon & Assets
Vollstรคndige Architektur- und API-Doku: docs/ARCHITECTURE.md, docs/API.md.
| Dokument | Beschreibung |
|---|---|
| Setup Guide | Installation & Einrichtung |
| Architektur | Technische Architektur |
| Datenmodelle | SwiftData Models |
| API Integration | Gemini, Keychain, Notifications |
| Contributing | Beitragsrichtlinien |
| Changelog | Versionshistorie |
- Xcode 26.5+
- iOS 18.5+ Simulator oder Gerรคt
- Apple Developer Account (fรผr Gerรคt-Tests)
-
Repository klonen
git clone https://github.com/DEIN-USERNAME/ShipTrip.git cd ShipTrip -
Projekt รถffnen
open ShipTrip.xcodeproj
-
Gemini API Key einrichten (optional, fรผr KI-Features)
- Google AI Studio รถffnen
- API Key erstellen
- In der App unter Einstellungen โ API Key eingeben
-
Bauen & Starten
โBzum BauenโRzum Starten
Kommt bald
- Kreuzfahrten verwalten
- Karten-Integration
- KI-Import
- Statistiken
- ~1.900 Hรคfen (Wikidata Import)
- Export/Import als ZIP (verlustfrei, inkl. Bilder)
- CloudKit Sync (Datenmodell teilweise vorbereitet, aber noch nicht konform/aktiv โ siehe ADR-002)
- Hafen-Bilder + KI-Generierung
- Wetter-API Integration
- Auto-Import von Reederei-Angeboten
Contributions sind willkommen! Bitte erst ein Issue erstellen, bevor du einen PR einreichst.
MIT License - siehe LICENSE fรผr Details.
Entwickelt mit โค๏ธ und ๐ค AI-Unterstรผtzung.
Made for cruise lovers ๐ข