Разработка мобильного приложения-викторины
Необходимо разработать мультиплатформенное приложение-викторину, первоначально в версии для iOS. Дизайн приложения готов и будет предоставлен выбранному кандидату по завершению процедуры отбора.
Приложение небольшое и несложное, фактически представляет собой презентацию из двух экранов, где по тапу происходят определенные события (переходы между экранами, смена фоновой картинки, обновление счётчиков и пр.). Одна из частей, требующая наибольшего внимания - верстка, так как приложение необходимо реализовать на PhoneGap, рисуя графику средствами CSS/HTML/IcedCoffeScript, применяя относительное позиционирование и задание размеров. При этом экраны и формы простые и без изысков.
Функциональные требования для пользователя приложения:
1. Просмотр сплеш скрина
2. Пуш уведомления
-1. Разререшение пуш уведомлений при первом запуске
-2. Запуск приложения через пуш уведомления о новой акции
3. Просмотр экрана помощи
-1. при первом запуске явно без согласия пользователя
4. Игра в викторину
-1. Просмотр переданного с сервера изображения
-2. Выбор одного из вариантов по нажатию на кнопку
-3. Просмотр нового изображения в случае неверного отгадывания (после заданного числа попыток)
5. Просмотр экрана деталей акции в случае успешного отгадывания
-1. Переход на адрес промо-продукта/компании по ссылке (во внутреннем мобильном браузере)
-2. Переход на экран покупки со скидкой/отображение купона, в случае попадания под критерии выигрыша (во внутреннем мобильном браузере)
-3. Возвращение в игровой процесс
Экраны приложения:
1. Сплеш скрин
2. Помощь
3. Игровой
4. Экран деталей в случае успешного отгадывания
Технические требования:
1. Приложение должно быть написано на PhoneGap, IcedCoffeeScript, jQuery. Графика должна быть максимально выполненна программно засчет HTML/CSS/IcedCoffeScript, вставку картинок необходимо применять только при возникновении серьезных технических сложностей
2. Проект должен быть покрыт интеграционнами/GUI тестами
3. Взаимодействие с сервером должно быть эмулировано с помощью заглушек (mock), но методы для приема данных с сервера должны быть имплементированы
4. Первоначальная платформа для разработки - iOS. Необходимо учитывать, что в дальнейшем приложение может быть перенесено на другие платформы, такие как Android или WP8
5. Максимально единая код база для всех платформ (100% единая для основной бизнес логики, отображения графики и работы с апи сервера)
6. Использование стандарта написания кода (вкелючая вменяемые и полные имена переменных, методов, классов и пр, отсутствие макарон, разбиение классов по соответствующим файлам, папкам и пр.)
7. Приложение должно поддерживать устройства с различным разрешением экрана, засчет относительного позиционирования и задания размеров.
Требования к квалификации:
1. Подтверждаемый опыт коммерческой разработки программного обеспечения от трех лет
2. Уверенное владение PhoneGap, IcedCoffeeScript, jQuery и сопутствующим инструментарием
3. Умение писать тесты (если вы разрабатываете по TDD, то вообще замечательно)
4. Отличное знание и понимание ООП, основных паттернов проектирования и умение все это применять, когда нужно
5. Умение укладываться в заявленные сроки, сразу же оповещать обо всех возможных неожиданностях и проблемах
6. Способность к адекватному обещению
7. Наличие портфолио или списка подвтержадемых реально выполненных проектов