Skip to content

TravelSchedule (SwiftUI + Combine/MVVM: Kingfisher, OpenAPI) / Yandex Practicum: iOS developer - приложение предоставляет расписание транспорта и информацию о маршрутах с использованием API Яндекс.Расписания.

Notifications You must be signed in to change notification settings

DemiDevv/TravelSchedule

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 

Repository files navigation

TravelSchedule

Мобильное iOS-приложение для поиска и просмотра расписания транспорта с использованием API Яндекс.Расписаний.
Разработано как портфолио-проект Яндекс.Практикума.


🚀 Технологии

  • Язык: Swift 5.x
  • UI-фреймворк: SwiftUI
  • Архитектура: MVVM + reactive (Combine, async/await)
  • Библиотеки:
    • Kingfisher — загрузка и кеширование изображений
    • OpenAPI — генерация сетевого слоя
  • Минимальная версия iOS: 16.0

✨ Основные функции

  • 🔎 Поиск транспорта по направлениям «откуда — куда»
  • 🏙 Список станций выбранного города
  • ⏰ Просмотр расписания рейсов с фильтрацией по времени и пересадкам
  • 🚌 Детали перевозчика: логотип, сайт, контакты
  • 🌓 Поддержка светлой и тёмной темы интерфейса
  • 📖 Система stories с новостями и рекомендациями
  • 🌍 Локализация: русский и английский
  • ⚡ Обработка всех состояний (загрузка, ошибка, пустой результат)

⚙️ Запуск проекта

  1. Клонировать репозиторий
  2. Открыть проект в Xcode:
  3. Установить зависимости (Swift Package Manager подгрузит всё автоматически).
  4. Запустить на симуляторе или устройстве с iOS ≥ 16.0.

🏗 Архитектура и логика работы

  • Сетевой слой генерируется автоматически через OpenAPI; запросы выполняются асинхронно с обработкой ошибок.
  • MVVM разделяет бизнес-логику, данные и UI, обеспечивая масштабируемость.
  • Stories открываются модально, поддерживают свайпы и автопереключение.
  • Фильтрация расписания по времени и количеству пересадок.
  • Обработка ошибок и fallback-экраны (например, пустое расписание или отсутствие сети).
  • Локализация интерфейса (RU/EN).
  • Темы (светлая и тёмная) переключаются вручную.

📎 Полезные ссылки


⭐️ Если проект показался интересным — поставь звёздочку репозиторию!

About

TravelSchedule (SwiftUI + Combine/MVVM: Kingfisher, OpenAPI) / Yandex Practicum: iOS developer - приложение предоставляет расписание транспорта и информацию о маршрутах с использованием API Яндекс.Расписания.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages