https://github.com/yalishanda42/bdz-delays
БДЖ табла за всяка гара в реално време.
https://github.com/yalishanda42/bdz-delays
actors composable-architecture realm spm swiftui tca
Last synced: 10 months ago
JSON representation
БДЖ табла за всяка гара в реално време.
- Host: GitHub
- URL: https://github.com/yalishanda42/bdz-delays
- Owner: yalishanda42
- License: mit
- Created: 2023-04-21T19:32:08.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-08-30T10:39:18.000Z (almost 3 years ago)
- Last Synced: 2025-06-18T03:38:37.543Z (about 1 year ago)
- Topics: actors, composable-architecture, realm, spm, swiftui, tca
- Language: Swift
- Homepage:
- Size: 537 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# БДЖ Закъснения
[](https://apps.apple.com/us/app/бдж-закъснения/id6449440775)
Този iOS и macOS апп предоставя информация за пристигащите и заминаващите влакове до и от всяка гара в страната, с актулна информация за тяхното закъснение в минути.
## Архитектура
Приложението използва [The Composable Architecture (TCA)](https://github.com/pointfreeco/swift-composable-architecture), като е разделено по модули, базирани както на функционалност, така и на слоеве (т.е. и "хоризонтално", и "вертикално"), доколкото има смисъл да бъде приложимо. За модуляризацията е използван Swift Package Manager пакет ([bdz-delays](./BDZDelays/bdz-delays/)). Следната схема илюстрира най-добре избраната композиция по модули:

## Принос към проекта
Всеки е добре дошъл да оправи бъг, направи нова функционалност, или просто да се оплаче или даде идея за нещо.
⚠️ За да се подкара приложението:
1. Необходим е Xcode с версия поне 14.3, както и Swift 5.8+. Това изискване идва от зависимостта от [Actor-isolated Realms](https://www.mongodb.com/docs/realm/sdk/swift/actor-isolated-realm/). За тестовете (всички наведнъж могат да се изпълнят с `fastlane test`) няма такова ограничение.
2. По разбираеми причини, Google-Info.plist файлът за Firebase не е включен в репото. Firebase се използва само за Crashlytics за момента, така че слагането на свой собствен такъв конфигурационен фейл ще е напълно достатъчно.
## Лиценз
Избраният лиценз е [MIT](LICENSE). Приложението се използва единствено с демонстративна, информативна и обучителна, некомерсиална цел.
Информацията се придобива от [ROVR.info](https://rovr.info) в реално време. Приложението не е спонсорирано от БДЖ (засега поне 🤔).