Основной испльзуемый стек: UIKit, Navigation Controller, Google (Maps, Places, Direction, Distance), Firebase (Auth, Realtime Database, Storage), Alert Controller, JSON,Alamofire.
Краткое описание: отображение на карте внесенных в базу данных мест обслуживания автомобилей, их сортировка по услугам, прокладывание маршрута, возможность добавления этиx мест в избранное, а также личный кабинет с информацией о пользователе.
- Проект написан на UIKit.
- Были использованы Navigation Controller, Collection View, Table View, кастомные ячейки, xib-файлы.
- Возможность загрузки фотографии из галереи для установки на аватар в личном кабинете пользователя.
- Регистрация через Firebase Authentication, места хранятся в Firebase Realtime database, фотографии пользователя в Firebase storage.
- Используются Google Maps с доп. функциями гугла (места, расстояние и маршруты).
Что планируется добавить:
- Первоочередное - добавление архитектуры.
- Добавление дополнительных функций и усовершествование приложиния.
- Рефакторинг кода, а также мелкие доработки.
Начальный экран представляет собой экран входа, а также кнопки с переходом на экран регистрации, экран восстановления пароля или входа по Google-аккаунту:
После ввода логина и пароля и запроса о текущем местоположение, карта отобразится на пользователе, а также покажет места в радиусе 7км. При нажатии на кнопку троеточия откроются кнопки с дополнительными возможностями отображения:
Этими кнопками можно регулировать зум карты, получать актуальную информацию по пробкам, переместить карту на текущее местополжения пользователя, а также менять стиль карты (темный/светлый). При нажатии на кнопку с флажком будут отображены все добавленные в приложение места. Повторное нажатие снова отобразит места только в радиусе 7км.
Также можно воспользоваться поиском по Google Places и если такое место присутствует, то карта переместиться с акцентом на него и покажет информационное меню, в котором кроме актуальной информации есть кнопки перехода на сайт компании, звонка на указанный номер и кнопка прокладывания маршрута: