Приложение NBAPlayers предоставляет пользователю возможность просматривать информацию о баскетболистах NBA и играх, а также детальную информацию о каждом игроке и его команде. Пользователи могут просматривать список баскетболистов, их позиции и команды, а также игры, их даты и результаты.
Приложение использует API для получения данных, поэтому для полноценной работы требуется подключение к интернету.
Для запуска приложения необходимо клонировать репозиторий и запустить проект в Xcode выполнив следующие шаги:
-
Клонировать репозиторий на локальную машину:
git clone https://github.com/Dzhabaev/NBAPlayers.git
-
Перейти в папку проекта, к примеру:
cd ~ cd NBAPlayers
-
Открыть проект с помощью Xcode:
open NBAPlayers.xcodeproj
-
Запустить проект на симуляторе или устройстве.
- Xcode 15.0 или выше
- Swift 5.9 или выше
- iOS 16.4 или выше
- Зависимости: нет явных зависимостей от сторонних библиотек, за исключением стандартной библиотеки Foundation и UIKit.
В планах по доработке:
- Улучшение обработки ошибок и добавление дополнительных сценариев обработки исключений.
- Реализация кэширования данных для улучшения производительности приложения.
- Переход на использование Alamofire для упрощения сетевых запросов и улучшения их поддержки.
Проект использует:
- Swift для разработки мобильного приложения.
- UIKit для построения пользовательского интерфейса.
- URLSession для выполнения сетевых запросов.
- JSONDecoder для декодирования данных из API.
- Players API:
https://www.balldontlie.io/api/v1/players - Games API:
https://www.balldontlie.io/api/v1/games
PlayersViewController.swift: контроллер для отображения списка игроков.PlayerDetailsViewController.swift: контроллер для отображения подробной информации о игроке.GamesViewController.swift: контроллер для отображения списка игр.GameDetailsViewController.swift: контроллер для отображения подробной информации об игре.TeamNameViewController.swift: контроллер для отображения информации о команде.DataLoadingViewController.swift: протокол и его реализация для управления состояниями загрузки данных.ApiClient.swift: клиент для выполнения запросов к API для получения данных о игроках.ApiClientGames.swift: клиент для выполнения запросов к API для получения данных о играх.Player.swift: модель данных для игрока.Game.swift: модель данных для игры.Team.swift: модель данных для команды.DateUtils.swift: утилиты для работы с датами.
Проект можно интегрировать с любой CI/CD системой, поддерживающей сборку проектов Swift и Xcode.
Чингиз Джабаев
