PhoneGap(или аналог) HTML5-приложение для Android+iOS
Пользователи: сотрудники отдела контроля качества предприятия.
Воркфлоу работы приложения:
1. Приложение получает с сервера список доступных форм (метаинформация, содержащая список полей, валидаторов и связей (формы иерархические на 2-4 уровня вглубь)) и заготовок к каждой форме (грубо говоря, список продуктов для каждой формы по которым нужно провести тестирование, возможно уже предзаполненных форм) и отображает меню. Эти данные должны быть доступны оффлайн, при появлении сети грамотно синхронизироваться.
2. Пользователь выбирает какую форму он хочет заполнить и по какому продукту (доступен поиск, есть возможность создать форму для продукта, которого нет в списке (если синхронизация была давно) по его product#, а потом при синхронизации всё сделать правильно, смерджить по определённому алгоритму).
3. Пользователь работает с формой, заполняет поля, может сделать фотографию (из приложения) с камеры устройства, добавить комментарии в touch-canvas-редакторе, поставить стрелочки-кружочки и прикрепить к любому полю формы (прикрепление опционально).
4. Сохраняет форму в оффлайн-хранилище устройства (sqlite или что ещё там есть у html5+phonegap для персистентного хранения большого количества данных), переходит к следующей.
5. При появлении коннекта к сети, выбрать что отправить на сервер и отправить. (Этот пункт, возможно, упростится и нужно будет просто сделать отправку автоматической для завершённых документов – ещё обсуждается).
Теперь ещё раз кратко:
Приложение должно получать с сервера описания для построения форм, рисовать форму (многоступенчатую, иерархическую) пользователю, позволять вводить данные, сохранять их оффлайн локально. Результат заполнения формы представляет собой документ (xml или json, встроенные изображения в base64/cdata), пачка которых при синхронизации отправляется на сервер.
Ключевые особенности приложения (для оценки требуемых навыков исполнителем):
* HTML5 app под PhoneGap (или аналогичную платформу, возможно даже Xamarin)
* iOS (думаю, с 6 или 7 версии), Android (4 и выше, поддержка старья не требуется)
* Phone + tablet
* Form builder (динамические формы на основе метаданных, не хардкод)
* Offline-mode
* Хранение данных
* Хранение изображений
* Работа с камерой устройства (получение фотографии)
* Простой touch-canvas-редактор хранимых изображений
* Синхронизация с сервером для получения метаинформации (form builder) и отправки результатов
* Стабильная работа и корректная обработка ошибок, если что-то оборвалось и не завершилось – то нужно иметь возможность повторить/продолжить с того же места
* Желательны известные/популярные js/css-фреймворки для устройств
* Отсутствие 300ms-лага при работе на Android/iOS (отсекаем новичков)
* Желателен максимально приближенный к нативному user experience и для iOS и для Android
* При невозможности предыдущего пункта – приятный внешний вид
Потенциальным исполнителям просьба показать свои приложения, демонстрирующие способность исполнителя справиться с указанным заданием и указать цену и сроки.
Подробное ТЗ и прототипы экранов обсуждаются с выбранным исполнителем.