bart.sh
v1.0.0
Published
A terminal UI for viewing real-time BART (Bay Area Rapid Transit) schedules
Maintainers
Readme
bart.sh
A beautiful terminal UI for viewing real-time BART (Bay Area Rapid Transit) schedules.
Features
- 🚇 Real-time BART schedules for all stations
- 📍 Find nearest station based on your location
- 🎨 Color-coded train lines
- ⚡ Auto-refresh every 30 seconds
- ⌨️ Keyboard navigation
- 🖥️ Works on Mac, Linux, and Windows
Installation
Install globally via npm
npm install -g bart.sh
bartRun without installing (using npx)
npx bart.shRun locally
git clone https://github.com/yourusername/bart.sh.git
cd bart.sh
npm install
npm startUsage
Once the app is running, you'll see:
- Left panel: List of all BART stations
- Right panel: Real-time schedule for selected station
- Status bar: Station name and last update time
- Help bar: Keyboard shortcuts
Keyboard Shortcuts
| Key | Action |
|-----|--------|
| ↑ / ↓ | Navigate through stations |
| Enter | Select station |
| n | Find nearest station (uses IP geolocation) |
| r | Refresh schedule |
| q / Esc | Quit |
Features Explained
Find Nearest Station
Press n to automatically find and select the BART station closest to you. The app uses IP-based geolocation to determine your approximate location and calculates the distance to all BART stations.
Auto-Refresh
Schedules automatically refresh every 30 seconds to show the most up-to-date arrival times.
Color-Coded Lines
Trains are displayed with color-coded indicators matching BART's official line colors:
- 🔵 Blue Line
- 🟡 Yellow Line
- 🔴 Red Line
- 🟢 Green Line
- 🟠 Orange Line
Technical Details
Built with:
- Node.js - Runtime
- blessed - Terminal UI framework
- axios - HTTP client for BART API
- cheerio - HTML parsing
Data source: BART's official real-time API
Requirements
- Node.js 12 or higher
- Internet connection (for fetching real-time data)
Supported Stations
All 50+ BART stations including:
- San Francisco stations (Embarcadero, Montgomery, Powell, etc.)
- East Bay stations (Oakland, Berkeley, Fremont, Dublin/Pleasanton, etc.)
- Peninsula stations (Millbrae, SFO, etc.)
- Antioch extension stations
Contributing
Issues and pull requests are welcome! Feel free to:
- Report bugs
- Suggest new features
- Improve documentation
- Add tests
License
MIT
Author
Built with ❤️ for Bay Area transit riders
Note: This is an unofficial project and is not affiliated with or endorsed by BART (Bay Area Rapid Transit).
