Техническое задание на разработку мобильного приложения

Техническое задание на разработку
мобильного приложения







Функции из пунктов 2.4 и 2.5 в первую очередь. Далее 2.2 и 2.6 и
остальные.
Список принятых сокращений и определений
Активный элемент (АЭ) – элемент управления, выполненный в виде
кнопки, иконки при нажатии на который происходит какое-либо
действие.
Иконка – графическое изображение кнопки.
Лейаут - внешний вид отдельно взятого окна.
Маршрут – графическое изображение или текстовое описание пути
следования на карте.
Маяк – графическое изображение объекта на карте.
Объект – единичный элемент, который можно добавить к маршруту.
Социальные сети – имеются ввиду наиболее популярные из них:
Фейсбук, ВКонтакте, Твиттер, Одноклассники.
1. Требования к структуре программного обеспечения и
общая информация
Язык интерфейса приложения русский, необходимо предусмотреть
добавление еще 2-3 языков. Разработанное программное обеспечение (далее
ПО) должно быть совместимо с Android 4.0 Ice Cream Sandwich (и старше),
серверная часть должна быть написана на языке программирования PHP и
реализована на базе серверов Linux с поддержкой MySQL. Клиентская часть
должна состоять из следующих функциональных модулей:





Модуль авторизации
Модуль регистрации
Модуль объектов
Модуль маршрутов
Модуль геолокации
2. Внешний вид и описание взаимодействия пользователей с
приложением
Внешний вид приложения составляют 8 лейаутов, каждый имеет
собственный функционал и набор активных элементов (АЭ):
1
Лейаут «Авторизация/Регистрация»: относительно центра,
выше расположен логотип, под ним 2 поля для указания почты и
пароля, ниже кнопка «Войти». При регистрации добавляется еще
2 поля - имя и фамилия. Также должны присутствовать иконки
соц.сетей через которые можно пройти авторизацию.
2.2. Лейаут «Главный»: 2/3 части экрана сверху занимает карта, 1/3
внизу занимает список объектов и панель с активными
элементами:
2.2.1. В списке объектов указывается номер маяка на карте,
соответствующий этому объекту (для каждого типа отдельное
цветовое и/или графическое исполнение), название, тип, а
также миниатюрное изображение, показывающее фото или
видео файлы прикрепленные объекту.
2.2.2. Высота списка объектов может устанавливаться
в 3
положениях: на 1/3 внизу, во всю высоту экрана, либо
свернуто вниз. Переход между положениями происходит
плавно с анимацией.
2.2.3. В нижней части экрана (около 10% высоты) расположена
панель АЭ: добавления объектов, фильтрации объектов и
другие по согласованию с заказчиком.
2.2.4. При нажатии на кнопку фильтрации, над панелью, всплывает
слой с АЭ, при помощью которых можно отфильтровать
объекты отображаемые в списке сообщений (см. п. 2.2) и на
карте по следующим параметрам: тип, мои места (объекты),
интересные места и т.п. Также необходимо разработать
алгоритм определения интересных мест исходя из количества
их просмотров, частоты добавления в маршрут и т.д.
2.2.5. При нажатии на кнопку добавления объекта, всплывает слой
на 1/3 или 1/2 экрана снизу с АЭ, при помощи, которых можно
добавить объект, прикрепить несколько изображений/видео,
отменить операцию, отправить на модерацию. При этом на
карте автоматически ставится маяк местоположения (с
анимацией), но его можно переставить касанием карты в
другом месте, на слое устанавливается бокс выбора
автоматического определения местоположения, в случае
ручной установки маяка, выбор с этого бокса снимается.
2.2.6. На карте расположены маяки с номерами, соответствующие
номерам в списке объектов. Координаты маяков
соответствуют географическим координатам объектов.
2.1.
2
2.2.7. Сдвиг карты производится касанием, удержанием и
перемещением контактной поверхности (подушечки пальца,
например)
2.3. Лейаут «Личная информация» содержит регистрационные
данные пользователя, имя и фамилию, связь с аккаунтами в
соц.сетях и Skype, список друзей которые используют
приложение (синхронизация через соц.сети).
2.3.1. Внизу экрана расположена панель со следующими АЭ: мои
места (объекты), мои маршруты, настройки.
2.4. Лейаут «Каталог объектов»: сверху поле для ввода ключевого
слова. Ниже расположен список объектов с фотографией,
другими полям на усмотрение разработчика. Объекты можно
фильтровать по категориям: Природа, Музеи, Архитектура,
Отели, Кафе и рестораны и т.п
2.5. Лейаут «Подробнее об объекте»: сверху фото, не менее 1/3
экрана по высоте, название, ниже: теги объектов, тип, адрес,
телефон, координаты (скрытое поле), автор (скрытое поле),
подробная информация. Информация пролистывается сверху
внизу, переход между объектами в списке пролистыванием слева
на право (или обратно). Панель АЭ та же, что и в п.2.2.
2.6. Лейаут «Маршруты»: содержит информацию о маршрутах со
следующими полями:
 Название
 Протяженность
 Длительность
 Тип
 Рейтинг
 Избранное
2.6.1. Основным для лейаута является список маршрутов, который
содержит поля: название, рейтинг, протяженность и
популярность.
2.6.2. При выборе любого маршрута, происходит переход на лейаут
«Подробнее о маршруте». Верхнюю половину которого
занимает карта, нижнюю – информация о маршруте, согласно
полей, указанных в п. 2.6.
2.6.3. Переход между маршрутами производится горизонтальным
пролистыванием нижней половине.
3
2.6.4. В нижней части экрана (менее 10% высоты) расположена
панель АЭ: добавление маршрута, мои маршруты, избранные
маршруты и другие по согласованию с заказчиком.
2.6.5. Создание маршрутов производится 2 способами:
2.6.5.1. Из списка, путем добавления объектов в маршрут, также
необходимо предусмотреть фильтрацию объектов по
типу, рейтингу и т.п.
2.6.5.2. По карте, добавлением объектов путем выбора их на
карте, также необходимо предусмотреть фильтрацию.
2.6.6. Далее производится расчет маршрута – определение наиболее
короткого маршрута между объектами.
2.6.7. Следует предусмотреть возможность перетаскивания объектов
в последовательности в ручную (с анимацией).
2.6.8. Фильтрация маршрутов по городу.
2.7. Лейаут «Настройки»: содержит информацию о приложении и
его версии, список полей личной информации для
редактирования:
 Имя
 Фамилия
 Логин
 Пароль
 Аккаунт ВКонтакте
 Аккаунт Фейсбук
 Аккаунт Tвиттер
 Аккаунт Одноклассники
 Аккаунт Skype
 и другие на усмотрение разработчика.
Эта информация импортируется из соц.сетей, либо вносится вручную.
2.8. Лейаут «Экскурсия»: представляет собой карту с указанием
маршрута и местоположения пользователя при следовании по
маршруту. При приближении к объекту открывать лейаут
подробной информации об объекте, запускать звуковое и вибро
оповещение.
Переключение между лейаутами «Главная», «Личная информация» и
«Маршруты» производится с анимацией при помощи кнопки основной
навигации в левом нижнем углу экран.
4
АЭ на панелях нижней части экрана должны быть выполнены, также в
виде иконок.
Необходимо предусмотреть возможность расширения количества
соц.сетей подключаемых к приложению (Instagram и др.), а также полей
личной информации в п.2.7.
Внешний вид всех лейаутов согласуется с заказчиком.
Карта, фото и видеофайлы должны кэшироваться и при обращении к
ним в первую очередь загружать их из кэш.
Периодически с помощью всплывающих окон предлагать
пользователям поделится своими маршрутами, интересными объектами,
поделится приложением в соц.сетях и другие методы стимулирующие
распространение приложения.
3.1.
3.2.
3.3.
3.4.
3. Требования к функциям
Модуль авторизации. Модуль авторизации позволяет
пользователям представляться системы и получать доступ к
информации, которая хранится в системе. Передачу параметров
нужно обеспечить по защищенным каналам. Аутентификация
происходит посредством передачи на сервер данных, дальнейшей
сверки на стороне сервера и предоставление доступа
пользователю.
Модуль регистрации. Модуль предназначен для добавления
новых пользователей в систему. Нужно предусмотреть
возможность регистрации, как в самом приложении, так и с
помощью социальных сетей. Данные должны храниться на
стороне сервера в зашифрованном виде.
Модуль объектов. Модуль должен получать фото-, аудио-,
текстовую информацию с сервера, кешировать их, иметь
возможность добавлять объекты в приложении и отправлять их
на модерацию. На стороне сервера необходимо создать
интерфейс просмотра, модерации, редактирования добавления и
удаления объектов. Объекты привязываются к географическим
координатам.
Модуль маршутов. Модуль должен получать информацию о
маршрутах имеющихся в базе данных сервера, иметь
возможность создавать маршруты из объектов и отправлять их на
модерацию. На стороне сервера необходимо создать интерфейс
5
3.5.
просмотра, модерации, редактирования добавления и удаления
маршрутов.
Модуль геолокации. В данном модуле происходит реализация
функционала по работе с местоположением пользователя.
Модуль должен позволять автоматически определять и отмечать
положение пользователя на карте (google или yandex)
посредством GPS (или Глонас) и триангуляции. Разработать
модуль приложения так, чтобы пользователь мог на карте
указывать те места, которые он хочет посетить с возможностью
сохранения этой информации и, при желании, делиться ею с
другими пользователями.
6