Этап 1(Прототип)- Пробный этап для оценки перспектив сотрудничества.
· Реализация с помощью Кросс-платформенного Фреймворка Flutter +(Node.JS/Phyton);
· Может быть реализован без графического оформления (как текст);
· Использование подходов BLoC и MobX – архитектуры разработки, с применением Streams;
· Взаимодействие с Сетью: REST + WebSocket;
· Код должен быть предоставлен в объеме достаточном для ревью, аудита и приемки компетентным специалистом;
· Должен функционировать на большинстве смартфонов с актуальными версиями ПО (Android, iPhone);
· Результатом работы являться: Исходный код в репозитории, *apk-файл для Android, *ipa-файл для iOs; а также размещенное приложение на Fairbase app distribution;
· Срок разработки 15 дней с даты выбора исполнителя;
· 6 экранов, 4 всплывающий окна, БД, подробно объем работ ниже (в скобках указан номер экрана Макета Figma):
1. Экран-Сплэш (Э.0);
2. Экран-Регистрация/Аутентификация пользователя с помощью аккаунтов Google и Facebook (Э.1-Э.2);
3. Экран-загрузки (Loader) (Э.3);
4. Экран Главный (Э.4) отображение:
- Блока «Пользователь» (Имя/email/фото);
- Блока «Устройства» (с кнопкой «START» и текстовым сообщением);
- Две модальные вкладки «Главная» и «Настройки».
5. Попап включения Блютуз (Э.5), активация Блютуз после нажатия.
6. Экран Настройки (Э.20) отображение:
- Кнопка Профиля пользователя;
- Toggle кнопка «У меня диабет»;
- Две модальные вкладки «Главная» и «Настройки».
7. Экран Настройки профиля (Э.21):
- Блок «Пользователь» с возможностью замены Имени и Фамилии на Никнейм;
- Блок Основных данных, с возможностью внесения правок (Имя, Фамилия, email);
- Кнопка «Готово»- для сохранения изменений Основных данных;
- Кнопка «Отменить»- для отмены изменений Основных данных;
- Кнопка «Удалить учетную запись».
8. Попап «Удалить учетную запись» (Э.22)
9. Попап «Учетка удалена» (Э.23).
10. Подключить RxDart.
11. Подключить утилиту для сбора ошибок приложения (crash reporting) - https://firebase.flutter.dev/docs/crashlytics/overview/
12. Создать единый обработчик ошибок (цель - создание сущности, которая умеет работать и
реагировать на любые ошибки приложения);
13. Формирование реляционных БД в Dart/Flutter (рекомендуемая: https://pub.dev/packages/moor)
14. Формирование реляционных серверных БД.
Заказчик предоставил исходную документацию: обязуется предоставить Макет дизайна на Figma, API документацию, и необходимые для выполнения заказа доступы к аккаунтам.
Исполнитель обязуется провести промежуточную демонстрацию результатов работ на базе *apk-файла с эмуляцией/демонстрацией на 7/14 день разработки и информировать о достижении пунктов объема работ по мере достижения.
Портрет кандидата:
Опыт мобильной Android/iOS разработки от 1 года;
Опыт Flutter-разработки от 1,5 лет;
Желательно опыт работы с BLE;
Опыт работы с WebSocket, Firebase;
Знание концепций BLoC и/или MobX, в идеале - примеры кода реализованных приложений с помощью данных библиотек;
Самостоятельность, проактивность, ответственность;
Желательно: Навык написания юнит и интеграционных тестов.