https://github.com/riximus/sbbuddy
🧠A friendly Swiss public transport terminal app. Search timetables, plan connections, and get the connection to your phone via QR. All from your console.
https://github.com/riximus/sbbuddy
bubbletea charm charmbracelet cli console console-application golang sbb sbb-cff-ffs swiss switzerland terminal terminal-app terminal-ui train transportation tui
Last synced: 2 months ago
JSON representation
🧠A friendly Swiss public transport terminal app. Search timetables, plan connections, and get the connection to your phone via QR. All from your console.
- Host: GitHub
- URL: https://github.com/riximus/sbbuddy
- Owner: Riximus
- Created: 2025-07-26T15:29:48.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2025-07-28T21:14:14.000Z (2 months ago)
- Last Synced: 2025-07-28T23:14:25.938Z (2 months ago)
- Topics: bubbletea, charm, charmbracelet, cli, console, console-application, golang, sbb, sbb-cff-ffs, swiss, switzerland, terminal, terminal-app, terminal-ui, train, transportation, tui
- Language: Go
- Homepage:
- Size: 1.32 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SBBuddy

## Current Functionalities
- Look up timetable of a station
- Example: SBBuddy -T "Basel SBB"- Search connections between two or more stations
- Example: SBBuddy -C "Basel SBB" -C "Zürich HB"- With via stations: SBBuddy -C "Basel SBB" -C "Olten" -C "Zürich HB"
- Fetch a random connection
- Basic: SBBuddy -R
- With number of via stations: SBBuddy -R 2
- Combine with fixed station(s): SBBuddy -C "Basel SBB" -R, SBBuddy -R -C "Zürich HB"- Timetable from a specific time and/or date
- Examples:
- SBBuddy -T "Basel SBB" -t 10:00
- SBBuddy -T "Basel SBB" -d 2025-07-28 -t 14:50- Connections from a specific date and/or time (yyyy-mm-dd or dd.mm.yyyy)
- Examples:
- SBBuddy -C "Basel SBB" -C "Zürich HB" -d 14.08.2025
- SBBuddy -C "Basel SBB" -C "Zürich HB" -d 2025-08-14 -t 10:00- Scroll through connection lists (forward and backward)
- Refresh functionality to update timetable/connections
- Arrival time filtering (default is departure) with -a flag
- Help command: SBBuddy -h
## Good to know
- Uppercase letters in terminal shortcut commands are used for main menu options
- Lowercase letters in terminal shortcut commands are used for specific options## Go Commands
### Run
`` go run .\cmd\SBBuddy\``### Test
`` go test ./...``#### Test API
`` go test .\internal\api\ ``#### Test CLI
`` go test .\internal\ui\ ``### Build
`` go build -o .\build\ .\cmd\SBBuddy\``### Distribution
`` goreleaser release --snapshot --clean``