Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Имеется существующее приложение для Android, выложенное в Google Play - SC2 Build Maker.

https://play.google.com/store/apps/details?id=com.sc2toolslab.sc2bm

Необходимо провести ряд доработок, определенных в ТЗ.

Технологический стек, имеющихся исходников:

Android SDK

Google Gson (parsing)

IntelliJ IDEA 12-14

Основная часть кода была портирована из .NET C# солюшна с помощью онлайн тулы (сорсы .NET тоже есть в наличии). UI код самописный. Для работы будет предоставлен исходный код программы и все необходимые конфигурационные файлы.

Желательно, чтобы исполнитель был знаком с компьютерной игрой Starcraft 2, чтобы проще было понять что именно делает тула.

Я писал .NET C# движок, а андройд-фрилансер портировал его. Теперь мне нужен фрилансер для внесения важных фиксов.

Т.З.:

Доработки разбиты на 7 юзер сторей, общий объем работы по которым от нескольких дней (если знать систему), до недели (сроки не горят).

Необходимо будет развернуть сорсы, понять как реализован функционал и выполнить необходимые доработки.

User Story 001 - Change Run App Workflow.

Основная идея:

Большинство пользователей используют какую-то одну игровую расу и add-on (Wings of Liberty/Heart of the Swarm - мы можем понимать под этим 1 какой-то конкретный конфиг). Пользователи редко переходят на другие расы (хотя есть и такие). Нет смысла показывать все время билды для всех рас и всех версий - билдов получается слишком много и ими сложно управлять, сложно найти нужные. Также нет смысла заставлять пользователя каждый раз выбирать расу и конфиг при создании нового билда, т.к. чаще всего пользователь будет создавать билды в основном для одной расы и использовать самый последний конфиг конкретного адд-она.

Выводы:

Пусть пользователь выберет расу и add'он 1 раз при первом запуске приложения, а потом всегда попадает в интерфейс конкретной расы. Позже, если будет нужно, пользователь сможет выбрать дургую расу и адд-он в отдельном окне.

User Story 002 - Changes in Build List Form

1.. Т.к. теперь игровая раса и add'on выбираются при запуске приложения или загружаются из сохраненного конфига, то мы должны отображать только те билды, которые соответствуют выбранной расе и add'ону.

Определить какой адд-он используется в билде можно по версии. Все что до версии 2.0.5 включительно - это Wings of Liberty. Все от 2.0.6 и выше - это Heart of The Swarm. Поддержки Legacy of the Void у нас пока не будет (она еще в бете, я буду работать над ее конфигом).

2.. Билд ордеры должны быть отсортированы по-умолчанию по дате просмотра билда.

Алгоритм определения даты просмотра следующий:

if (build.lastVisitedDate != null) { return build.lastVisitedDate; }

else { return build.createdDate; }

Каждый раз при открытии билда (клике по билду в Build List Form) его lastVisitedDate должна обновляться.

3.. Добавить кнопку в строке вариантов сортировки для сортировки по дате (будет использоваться чтобы вернуть сортировку по-умолчанию, если пользователь для этого использовал другую соритровку).

4.. Починить баг с открытием билда из списка результатов поиска.

Допустим у нас есть 10 билдов. Мы вводим строку поиска, которая показывает 3 билда из 10 - 3й, 5й и 6й. Так вот если мы кликнем по 3му билду из списка результатов (6й из общего списка), то откроется 3й билд из общего списка, а не 6й (по всей видимости используется индекс). Открываться должен именно тот билд, по которому кликнули.

5.. Двойное нажание кнопки "назад" (системная кнопка android) должно приводить к закрытию приложения. При этом когда мы 1 раз нажимаем назад, должно появиться сообщение "Tap back again to exit"

6.. Всплывающее меню должно быть изменено (то которое появляется при нажатии на кнопку с тремя точками в правом нижнем углу). Теперь там должны 2 строки по 3 пункта в каждой в следующем виде:

Rate | Feedback | Issue

Settings | Buy | Exit

Кнопка Settings должна быть доступна только в полной версии приложения.

Кнопка Buy должна быть доступна только в бесплатной версии приложения.

Кнопки Rate и Feedback уже существуют.

Кнопка Exit закрывает приложение.

Кнопка Issue должна загрузить почтовый клиент, в котором будет письмо на наш адрес с темой "Issue Report for SC2 Build Maker".

Кнопки New и Search надо убрать, т.к. пользователи используют иконки сверху для доступа к этой функциональности.

7.. В списке билдов сейчас отображается дата создания билда в следующем виде:

created: dd.MM.yy

Если lastVisitedDate !=null, т.е. пользователь ранее просматривал билд, то лейбл должен измениться на "visited: dd.MM.yy" и должна отобразиться дата последнего открытия.

8.. Кнопка + больше не должна открывать форму выбора расы и версии конфига - эта форма больше не нужна. Вместо этого мы должны открыть сразу форму редактирования билда и взять расу и конфиг из текущей конфигурации приложения.

User Story 003 - Changes in Build Details Form

1.. Необходимо отображать дату создания/последнего изменения билда.

Сделать это можно в строчке под иконкой расы и названия билда.

В итоге должно получиться 2 записи:

created: mm.DD.yy modified: mm.DD.yy

Если билд не был модифицирован, то второй label показывать не надо.

2.. Для каждого билда будет храниться 3 даты:

createdDate, modifiedDate, lastVisitedDate

При каждом заходе на форму Build Details Form, мы должны обновлять lastVisitedDate.

3.. Необходимо показать длительность билда в минутах:секундах. Сделать это можно прямо под цветной линии справа-внизу от иконки расы.

Текст:

length: MM:ss

4.. Нужно переименовать кнопку "Open" на "Load"

5.. Нужно переименовать кнопку "Edit" на "Info"

6.. В данный момент на этой форме справа-внизу есть кнопка контекстного меню (три вертикальные точки), но при нажатии на нее ничего не происходит. Нужно показать следующее меню:

Rate | Feedback | Issue

Builds | Buy | Exit

Builds - вернет пользователя на предыдущий экран (Build List Form). Все остальные кнопки те же, что и на предыдущем скрине. Buy доступен только для бесплатной версии.

User Story 004 - Changes in Build Editor

Общая информация:

При создании нового билда будет выбираться последний конфиг для выбранного add-on'а. Нет смысла редактировать билды для старых конфиг. Мы разрешим их только просматривать.

1. Скрыть строку с кнопками для изменения билда если используется не последний конфиг для выбранного add-on'а. Т.е. кнопки Units Struct Grades Special Undo становятся недоступными (скрытыми).

2. Переименовать заголовок столбца "time" в "start/end"

3. Добавить иконку юнита "Nuke" в панель Units. Пример иконки приатачен (1).

4. Добавить иконку апгрейда протоссов "Anion Pulse-Crystals". Пример иконки приатачен (2).

5. Сделать более видимым текущий выбранный элемент (когда кликаешь по элементу билда, он становится выбранным - для него отображается статистика). Сейчас выбранный элемент имеет черную границу, но ее очень плохо видно.

6. Мы добавляем функционал "ничего не делания" на протяжении определенного времени.

Для этого в конфиг для каждой расы добавлено 4 Special действия:

- Start Idle

- StopIdleIn3Seconds

- StopIdleIn5Seconds

- StopIdleIn10Seconds

В качестве иконок можно использовать аттач №3, только для старт нарисовать там зеленую стрелочку или любую стрелочку, для 3 секунды - нарисовать на часах 3, для 5 - 5, для 10 -10.

Конфиг я подготовлю, но понадобится добавить новый модуль в код (код на C# будет предоставлен).

7.. В правый верхний угол формы (где написано название билда), необходимо добавить кнопку Save (5) (иконка приатачена, на нее еще надо нанести слово Save. Эта кнопка должна быть недоступна, если мы открыли билд с непоследней версией конфига (тоже самое что пункт 1)

8.. В контекстном меню, вызываемом при нажатии на кнопку справа-внизу (три вертикальные точки) должны быть следующие пункты:

Rate | Feedback | Issue

Builds | Buy | Exit

Builds - возврат к отображению списка билдов.

Если были внесены изменения, то необходимо запросить у пользователя подтверждение на переход.

Пункт Save мы отсюда убираем.

9.. Добавить иконку юнита Nydus Work (приатачена) для соответствующего юнита зергов.

User Story 005 - Changes in Save Build Form

При сохранении билда мы должны обновить lastModifiedDate, который будет использоваться в списке билдов.

User Story 006 - Fix Resources issues in BuildOrderProcessor

Нужно внести 2 маленьких изменения в существующий класс. Код на C# будет предоставлен.

User Story 007 - Implement Current Build item Statitstics Form

1. Добавить экран отображения текущей статистики для выбранного элемента билда (4). Верхняя часть формы будет та же что и у Build Editor'а (название билда + ресурсы), а в нижней части будет отображаться 2 секции:

Completed:

Иконки с указанием количество уже построенных на данный момент времени юнитов/зданий/апгрейдов (сначала в списоке юниты, потом здания, потом апгрейды).

In Progress:

Иконки с указанием количества строящихся в данный момент времени юнитов/зданий/апгрейдов.

Перейти на эту форму для выбранного билд айтема можно либо выполнив слайд справа налево, либо дважды кликнув по билд айтему в списке. Вернуться обратно к редактированию билда можно выполнив обратный слайд по форме.

2.. Т.к. теперь у нас есть экран отображения статистики, то показывать цифры на иконках добавляемых элементов билда, как это делается сейчас, больше не надо. Убираем эти цифры.

9 лет назад
kardash
38 летРоссия
17 лет в сервисе
Был
3 года назад