Мобильное iOS-приложение для поиска и просмотра расписания транспорта с использованием API Яндекс.Расписаний.
Разработано как портфолио-проект Яндекс.Практикума.
- Язык: Swift 5.x
- UI-фреймворк: SwiftUI
- Архитектура: MVVM + reactive (Combine, async/await)
- Библиотеки:
- Kingfisher — загрузка и кеширование изображений
- OpenAPI — генерация сетевого слоя
- Минимальная версия iOS: 16.0
- 🔎 Поиск транспорта по направлениям «откуда — куда»
- 🏙 Список станций выбранного города
- ⏰ Просмотр расписания рейсов с фильтрацией по времени и пересадкам
- 🚌 Детали перевозчика: логотип, сайт, контакты
- 🌓 Поддержка светлой и тёмной темы интерфейса
- 📖 Система stories с новостями и рекомендациями
- 🌍 Локализация: русский и английский
- ⚡ Обработка всех состояний (загрузка, ошибка, пустой результат)
- Клонировать репозиторий
- Открыть проект в Xcode:
- Установить зависимости (Swift Package Manager подгрузит всё автоматически).
- Запустить на симуляторе или устройстве с iOS ≥ 16.0.
- Сетевой слой генерируется автоматически через OpenAPI; запросы выполняются асинхронно с обработкой ошибок.
- MVVM разделяет бизнес-логику, данные и UI, обеспечивая масштабируемость.
- Stories открываются модально, поддерживают свайпы и автопереключение.
- Фильтрация расписания по времени и количеству пересадок.
- Обработка ошибок и fallback-экраны (например, пустое расписание или отсутствие сети).
- Локализация интерфейса (RU/EN).
- Темы (светлая и тёмная) переключаются вручную.
⭐️ Если проект показался интересным — поставь звёздочку репозиторию!