No description
Find a file
2026-01-22 19:41:57 +01:00
Controls Initial commit: Departure - SBB Abfahrtsanzeige App 2026-01-22 19:40:34 +01:00
Models Initial commit: Departure - SBB Abfahrtsanzeige App 2026-01-22 19:40:34 +01:00
Services Initial commit: Departure - SBB Abfahrtsanzeige App 2026-01-22 19:40:34 +01:00
ViewModels Initial commit: Departure - SBB Abfahrtsanzeige App 2026-01-22 19:40:34 +01:00
Views Initial commit: Departure - SBB Abfahrtsanzeige App 2026-01-22 19:40:34 +01:00
.gitignore Initial commit: Departure - SBB Abfahrtsanzeige App 2026-01-22 19:40:34 +01:00
AI_PROMPT.md Initial commit: Departure - SBB Abfahrtsanzeige App 2026-01-22 19:40:34 +01:00
App.axaml Initial commit: Departure - SBB Abfahrtsanzeige App 2026-01-22 19:40:34 +01:00
App.axaml.cs Initial commit: Departure - SBB Abfahrtsanzeige App 2026-01-22 19:40:34 +01:00
app.manifest Initial commit: Departure - SBB Abfahrtsanzeige App 2026-01-22 19:40:34 +01:00
appsettings.json Initial commit: Departure - SBB Abfahrtsanzeige App 2026-01-22 19:40:34 +01:00
Departure.csproj Initial commit: Departure - SBB Abfahrtsanzeige App 2026-01-22 19:40:34 +01:00
Departure.desktop Initial commit: Departure - SBB Abfahrtsanzeige App 2026-01-22 19:40:34 +01:00
departure.service Initial commit: Departure - SBB Abfahrtsanzeige App 2026-01-22 19:40:34 +01:00
Departure.sln Initial commit: Departure - SBB Abfahrtsanzeige App 2026-01-22 19:40:34 +01:00
Program.cs Initial commit: Departure - SBB Abfahrtsanzeige App 2026-01-22 19:40:34 +01:00
README.md Add README.md 2026-01-22 19:41:57 +01:00

Departure - SBB Abfahrtstafel

Eine moderne Abfahrtstafel-Anwendung für den öffentlichen Verkehr in der Schweiz mit SBB Dark Mode Design.

.NET 8 Avalonia UI License

🚂 Features

  • Live-Abfahrtszeiten - Echtzeit-Abfahrtsdaten von Schweizer ÖV-Stationen
  • SBB Dark Mode Design - Modernes Design im Stil der SBB Anzeigen (2025)
  • Verbindungssuche - Detaillierte Reiserouten zwischen Stationen
  • SBB Uhr - Authentische Schweizer Bahnhofsuhr mit rotem Sekundenzeiger
  • Cross-Platform - Läuft auf Linux, Windows und macOS

📸 Screenshot

Coming soon

🛠️ Technologie

  • Framework: .NET 8
  • UI Framework: Avalonia UI 11.x
  • Architektur: MVVM (Model-View-ViewModel)
  • API: transport.opendata.ch - Schweizer ÖV API

Verwendete Pakete

  • Avalonia 11.3
  • Avalonia.Desktop
  • Avalonia.Themes.Fluent
  • CommunityToolkit.Mvvm
  • Microsoft.Extensions.DependencyInjection

🚀 Installation

Voraussetzungen

Bauen und Starten

# Repository klonen
git clone https://github.com/swissYoshi/Departure.git
cd Departure

# Abhängigkeiten wiederherstellen
dotnet restore

# Anwendung starten
dotnet run

Als Service installieren (Linux)

# Service-Datei kopieren
sudo cp departure.service /etc/systemd/system/

# Service aktivieren und starten
sudo systemctl enable departure
sudo systemctl start departure

📁 Projektstruktur

Departure/
├── Models/              # Datenmodelle (Departure, Connection, Stop)
├── Views/               # XAML UI-Ansichten
├── ViewModels/          # MVVM ViewModels
├── Services/            # API-Services (TransportService)
├── Controls/            # Custom Controls (SBB Uhr)
├── Assets/              # Schriftarten und Ressourcen
├── App.axaml            # Avalonia App-Definition
└── Program.cs           # Einstiegspunkt

🔧 Konfiguration

Die Standardstation kann in appsettings.json konfiguriert werden:

{
  "DefaultStation": "Herisau"
}

📡 API

Die Anwendung nutzt die öffentliche Swiss Public Transport API:

  • Stationboard: Abfahrten einer Station abrufen
  • Connections: Verbindungen zwischen zwei Stationen
  • Journey: Detaillierte Fahrteninformationen

🤝 Beitragen

Beiträge sind willkommen! Bitte erstelle einen Pull Request oder öffne ein Issue.

📄 Lizenz

MIT License - siehe LICENSE für Details.

🙏 Credits