Общая задача

Разработать кросс-платформенное мобильное приложение на Flutter (iOS и Android) для мониторинга и управления электрическим погрузчиком. Приложение должно работать в связке с сервером сбора данных и предоставлять диспетчеру и оператору актуальную информацию через наглядный интерфейс.

Основные модули и функции

  • Пользовательский интерфейс - реализация 10 экранов по готовым макетам (UI/UX).
  • Авторизация - аутентификация через QR-код, содержащий серверные ключи.
  • Работа с данными - подписка на телеметрию устройства по протоколам MQTT и HTTP. Обновление показаний каждые 5-7 секунд.
  • Расчётные логики:
    • Время работы аккумуляторной батареи с учётом циклов зарядки и текущей ёмкости.
    • Экономия на топливе и аренде на основе статистики использования.
    • Сервисные уведомления о необходимости технического обслуживания.
  • Офлайн-режим - локальное кэширование данных (Hive/SharedPreferences) при отсутствии сети.
  • Карты - отображение местоположения погрузчика с использованием SDK Яндекс.Карт.
  • Справочные разделы - настройки, контакты, FAQ с глубокими ссылками (deep links) и встроенным просмотрщиком PDF.

Ключевые требования к разработке

  • Безопасность: шифрование токенов, обязательное использование SSL, обфускация кода при сборке.
  • Производительность: запуск приложения менее чем за 3 секунды, потребление оперативной памяти не выше 150 МБ.
  • Тестирование: покрытие unit-тестами, виджетами и интеграционными тестами.
  • Поддержка платформ: Android 9+, iOS 13+. Интерфейс - на русском языке.

Что предоставляется исполнителю

  • Развёрнутый сервер сбора и хранения данных.
  • API-ключи для сервиса карт и доступа к серверу телеметрии.
  • Графика, иконки, анимации и полный файл с макетами.

Необходимые навыки

  • Уверенное владение Flutter и Dart.
  • Опыт интеграции с IoT-платформами (REST API, MQTT).
  • Работа с картами (предпочтительно Яндекс.Карты на мобильных устройствах).
  • Умение реализовывать офлайн-хранилища (кеширование).
  • Опыт публикации приложений в App Store и Google Play.

Этапы реализации

  1. Сборка базовой функциональности (UI, экраны, роутинг).
  2. Интеграция с сервером (MQTT/HTTP), авторизация, обновление телеметрии.
  3. Тестирование всех модулей на реальных устройствах.
  4. Публикация готовых сборок в магазины приложений.