No description
- C# 100%
| Controls | ||
| Models | ||
| Services | ||
| ViewModels | ||
| Views | ||
| .gitignore | ||
| AI_PROMPT.md | ||
| App.axaml | ||
| App.axaml.cs | ||
| app.manifest | ||
| appsettings.json | ||
| Departure.csproj | ||
| Departure.desktop | ||
| departure.service | ||
| Departure.sln | ||
| Program.cs | ||
| README.md | ||
Departure - SBB Abfahrtstafel
Eine moderne Abfahrtstafel-Anwendung für den öffentlichen Verkehr in der Schweiz mit SBB Dark Mode Design.
🚂 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
- transport.opendata.ch für die ÖV-API
- Avalonia UI für das Cross-Platform UI Framework
- SBB für das inspirierende Design