Разработка мобильных приложений. Доработка существующего приложения, разработка с нуля, тестирование. Приложение: для iOS, для Android. Устройства для масштабирования: смартфоны. Создание мобильного приложения с двухсторонним входом как от водителя так и от пассажира и использованием существующего сервера. ### Основные требования 1. Цель проекта - Разработка мобильного приложения с двухсторонним входом (как для клиентов, так и для водителей) с интеграцией в существующий сервер посредством предоставленного API. 2. Платформы - Android и iOS. 3. Используемые технологии (рекомендации) - Для кроссплатформенной разработки: Flutter или React Native (для ускорения разработки). - Использование API сервера для загрузки/отправки данных. - Работа с картами (на основе интеграции API картографических сервисов). - Пуш-уведомления (для событийных сообщений). --- ### Интерфейсы (краткое описание) #### Вход и регистрация: 1. Для клиентов: - Вход через номер телефона (используя API авторизации сервера). - Восстановление данных авторизации через API (если поддерживается сервером). 2. Для водителей: - Аналогичная система авторизации. - Регистрация через приложение. --- #### Функционал для клиентов: - Ввод данных для заказа такси (новая поездка). - Установка адреса отправления и назначения (возможно, с использованием API картографического сервиса). - Выбор типа машины, актуального на сервере. - Работа со статусами заказа: - Отслеживание статуса поездки (получение данных через API). - Карта с местоположением водителя (если доступно API для геолокации). - История поездок (выгрузка данных на основании предоставленного API). - Дополнительно: - Оценка водителей после завершения поездки. - Информирование через пуш-уведомления (например, «Такси подъехало» или «Ваша поездка завершена»). --- #### Функционал для водителей: - Список доступных заказов: - Получение предложений от системы через API с деталями заказов (адрес клиента, расстояние и т. д.). - Управление заказами: - Принятие/отказ от заказа. - Обновление статусов заказа (на месте, в пути, завершено). Возможность регулировать цену до принятия заказа. - Карта: - Отображение маршрута до клиента и отображение конечной точки поездки (на базе интеграции API маршрутов). - Возможность навигации. - Профиль водителя: - Просмотр информации о своих поездках и доходах (такие данные можно получать с сервера) - Редактирование профиля (разрешается через API). --- ### Интеграция API 1. Подключиться к серверному API в соответствии с документацией. 2. Оптимизация запросов (например, кэширующие механизмы для карт или задержки при частых обновлениях статуса поездки). 3. Работа с авторизацией: - Реализовать JWT-токены (или другую систему аутентификации, указанную сервером). 4. Всестороннее тестирование работы API: - Обработка ошибок (например, в сети, временные недоступности сервера, коды ошибок 4xx-5xx). - Проверка корректности работы запросов на всех этапах (регистрация, поездки, статусы). --- ### Технические требования 1. Фронтенд: - Поддерживаемые платформы: - Android (версии 7.0+). - iOS (версии iOS 12+). - Кроссплатформенная разработка или два отдельных нативных приложения. 2. Геокарта: - Подключение к стороннему API OSM (Google Maps, Яндекс.Карты или Mapbox). - Рендеринг местоположения в реальном времени (это предоставляется API). 3. Пуш-уведомления: - Firebase Cloud Messaging (FCM) для Android. - APNs (Apple Push Notification Service) для iOS. --- ### Тестирование 1. Юнит-тестирование для отдельной бизнес-логики. 2. Интеграционное тестирование с серверным API на реальном/тестовом окружении. 3. Функциональное тестирование приложения: - На клиентских сценариях (заказ такси, история поездок). - На водительских сценариях (прием заказа, завершение поездки). С тестами помогу. Пожелания и особенности: Ищу того кто выполнял аналогичную задачу, чтоб не писать весь код заново. Для ускорения процесса. Если вы молодой начинающий программист и уверены в своих силах, готов попробовать дать вам шанс. Сложных вычислительных моделей писать не нужно, все данные уже обрабатываются, вам остается только все правильно подключить.