Доработать небольшое Xamarin Forms приложение (iOS/Android)

Цена договорная • безналичный расчёт, электронные деньги
14 января 2018, 14:35 • 0 откликов • 23 просмотра
Здравствуйте, нужно доработать небольшое приложение на Xamarin Forms под iOS и Android. Интерфейсы готовы примерно на 90%, функционал на 20% (создаются записи таймеров, подключен локальный Realm). Время выполнения - чем быстрее тем лучше. Ниже привожу техзадание, если можете такое выполнить в разумные сроки и стоимость - выдам доступ к репозиторию на bitbucket для оценки существующего кода. Называете пожалуйста срок выполнения и стоимость работы (желательно стоимость и сроки отдельно по каждому описанному этапу). Спасибо.

Техзадание:

1. Визуальная часть интерфейса

1. На главном экране в навигационной панели иконку меню перенести в левую часть
1.1. На странице настройки таймера сделать корректировки в интерфейсе:
1.1.1. Во всех строках слева начало слов выровнять по началу линии разграничения
1.1.2. Поле Type сделать селектором из двух текстовых значений: Up и Down, при этом выбранный вариант должен отображаться справа этого поля, по аналогии с полем выбора времени/даты. При выборе значения Up - со страницы должны скрываться разделы Repeats, End и Worked Time, при выборе Down - показываться.
1.1.3. Поле Period должно работать как селектор (по аналогии с выбором времени/даты) с выбором количества дней, часов, минут. Выбранное значение также должно отображаться справа поля
1.1.4. В поле Infinitely при выборе свича в true - следующее поле Repeats скрывается, при выборе false - показываетсяп
1.1.5. В разделе Begin в поле Now при выборе свича в true - следующие два поля Date и Time скрываются, при выборе false - показываются
1.1.6. В разделе End в поле Never при выборе свича в true - следющие два поля Date и Time скрываются, при выборе false - показываются
1.1.7. В разделе Worked Time в поле Only Worked Time при выборе свича в false следующие два поля Begin и End скрываются, при выборе в true - показываются
1.2. На главной в навигациионной панели по центру вместо текста Timers сделать переключатель разделов на Active и Ended, по умолчанию Active активна и в ней накодится список таймеров

2. Функционал (часть 1)
2.1. Приложение работает как на телефонах так и на планшетах (интерфейс корректировать для планшетов не надо)
2.2. Все параметры таймера сохраняются в базе данных Realm
2.3. При добавлении нового таймера он должен отсчитываться на главной странице (включая секунды). Если у таймера параметр Type равен Up - он отсчитывается c 0 до даты и параметров таймера End. Если у таймера параметр Type равен Down он отсчитывается от указанного времени до 0.
2.3.1. При достижении нуля пользователю выдается нотификейшен (со звуком) с текстом Title из параметров таймера
2.3.2. По факту выдачи нотификейшена на главную страницу в раздел Ended в верх списка добавляется запись с Title таймера и временем его срабатывания. Эту запись можно закрыть свайпом ее влево - это событие запоминается в базе данных с признаком если в течении 5 минут после выдачи нотификейшена, то отреагирование произошло вовремя, если позже - невовремя, по этим данным потом будет строиться график активности по этому таймеру (в базе данных должны сохраняться значение события и дата-время его возникновения)
2.3.3. Если сработавшего таймера активен параметр Repeats и там значение больше 1 - таймер перезапускается снова и повторяем это по количеству указанных повторений.
2.3.4. Отсчет таймеров продолжается и при закрытии приложения
2.3.5. При указании в параметрах таймера отсроченной даты в разделе Begin - на главной в записи таймера указывается дата начала отсчета и таймер начиинает работать по ее наступлении
2.3.6. Если в параметраз таймера указана дата окончания - таймер отсчитывается только до этой границы
2.3.7. Если в параметрах таймера указано активное рабочее вреимя - нотификейшнены выдаются только если попадают в этот промежуток согласно времени телефона/планшета
2.4. В приложение подключить сервис уведомления о падениях приложения и сервис статистики (надо согласовать какие именно)

3. Функционал (часть 2)
3.1. На главной при при свайпе таймера влево кроме кнопки Delete добавить кнопку Stat, которая ведет на страницу статистиики по этому таймеру, на которой отображается простая круговая диаграмма со статистиикой вовремя или невовремя был отмечен таймер в разделе Ended. Если же событий еще не было - просто показывается текстовое сообщение что событий еще не было.
3.2. Сейчас используется локальный Realm, но нужно перевести на серверный Azure, так чтобы после удаления приложения и установки снова - все записи восстанавливались
3.3. В разделе настроек в трех подраздела фидбеков должны отправляться мейлы (на зашитый в коде мейл) с валидацией полей сообщениия (непусто) и email c с выдачей сообщения что сообщение успешно отправлено

4. Функционал (часть 3)
4.1. В проекте добавить еще одно приложение iOS и одно Android, отличаться они должны только тем, что по запуску эти приложения показывают полноэкранную рекламу (тут надо согласовать какой сервис рекламы будет подключен)
Файлы