amtkstat/README.md
Tony Bark 79176585b4 Improve train status formatting
This change adds proper singular/plural labels for minutes and hours in the lateness display, fixes green status text contrast for dark mode, and updates the README to credit the Amtrak.js models used as a base.
2026-08-24 20:07:11 -04:00

49 lines
2 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<p align="center">
<img title="" src="assets/banner.svg" alt="" data-align="center" width="80%">
<img title="" src="assets/screenshot.png" alt="" data-align="center" width="70%">
</p>
## 🖥️ Supported Platforms
| Platform | Minimum Version |
| ---------------------------- | --------------- |
| macOS | 10.15+ |
| Windows | 11+ |
| Linux | gtk 3+ |
## 🔨 Setup
### Prerequisites
You will need Swift Bundler to properly run and bundle your app.
1. ``brew install mint``
2. ``mint install stackotter/swift-bundler@main``
### Running
```
swift-bundle run
```
### Bundling
```
swift-bundler bundle -c (release|debug)
```
## 🔍 Background
This was intended to solve a rather awkward dilemma. I turned a bunch of online Amtrak status boards made by [Dixieland Software](http://dixielandsoftware.net/Amtrak/status/StatusMaps/) into PWAs (standalone web apps) for stations that I viewed on Virtual Railfan. While it was convenient - don't get me wrong - I had to create a new web app for each and every station, and it was becoming overwhelming.
So I created simple frontend that mapped to Dixieland Software's API using Tauri. You could type in simple station code and it'd take you their status board from within the app. Simple, right? Unfortunately, I didn't know how to get it go back to change the station, my attempted UI redesigns kept failing, and I accidentally botched a migration to Tauri 2.0. I'm just not that good with Node.
So it sat abandoned until I discovered [SwiftCrossUI](https://github.com/moreSwift/swift-cross-ui). Now it directly makes use of [Amtraker](https://amtraker.com/)'s API, based on models ported from [Amtrak.js](https://github.com/piemadd/amtrak).
## ⚖️ License
I license this project under the GPL-3.0 license - see [LICENSE](LICENSE) for details.
## ⚠️ Disclaimer
_This project is not in any way affiliated with Amtrak._