Android Приложение с использованием Location

16 000 руб. за проект
13 января 2021, 12:41 • 2 отклика • 16 просмотров
ТЕХНИЧЕСКОЕ ЗАДАНИЕ




Краткое описание:


Andoid Приложение, которое, постоянно работая в фоне (не требуя никаких действий от пользователя), должно стабильно и без задержек передавать на Сервер информацию о входе и выходе смартфона из геозоны (радиусом 100м), потребляя при этом мало батареи (<170 мАч/сутки).




Интерфейс:


Авторизация пользователя - 5 экранов;


Рабочий стол - 1 экран.




Связь с сервером. Краткое описание пяти коннекторов API:


1. Авторизация. Передаем на сервер user_id, введенный пользователем, и сгенерированный уникальный id смартфона (device_uuid). Если ID верный - получаем в ответ список с координатами геозон, из которых пользователь выберет одну;


* Каждый пользователь (user_id) может иметь только одно активное устройство (device_uuid). Чтобы гарантировать это, сервер проверяет переданный device_uuid и может вернуть ошибку.


** userdevice_uuid хранится в памяти телефона и не меняется при переустановке приложения.


2. В случае успешной авторизации, передаем на сервер выбранную пользователем геозону;


3. Периодически (например, раз в полчаса) передаем на сервер информацию об имеющихся у приложения разрешениях (location, notifications etc) в качестве пинга о том, что приложение успешно работает в фоне.


*** Возможно, есть лучшие способы удаленно отслеживать работоспособность приложения. Можете предложить свой вариант.


4. При входе или выходе из геозоны, отправляем на сервер user_id, device_uuid, текущее время (из сервиса location) и тип события.


***** Тип события = вход/выход + статус приложения в момент события (закрыто/открыто).


5. На рабочем столе, пользователь видит текущий статус, присвоенный ему сервером (внутри зоны / снаружи зоны / под вопросом). Нажав кнопку "обновить" пользователь может запросить этот статус с сервера заново.




Прочее:


- Если в момент события входа/выхода на смартфоне недоступен интернет (например, в лифте), событие и его локальное время должны быть сохранены и отправлены на сервер при первой возможности;


- Если пользователь прервал процесс регистрации (например, закрыл приложение), то при повторном запуске приложения регистрация должна возобновиться с последнего момента, а не начинаться заново.






КРИТИЧЕСКИЕ ТРЕБОВАНИЯ




Работа не может считаться выполненной частично и имеет нулевую ценность для Заказчика, если не выполнено любое из следующих критических требований:


1. Перед получением от Заказчика макетов дизайна приложения и документации API, Исполнитель подписывает соглашение о конфиденциальности (NDA) в соответствии с прикрепленным шаблоном и присылает заказчику скан;


2. Для корректной работы приложения, конечный пользователь может быть должен ответить согласием на запросы разрешений при установке приложения или в процессе первого запуска и регистрации. Конечного пользователя НЕЛЬЗЯ заставлять вручную изменять какие-либо настройки смартфона после установки приложения для поддержания его стабильной работы;


3. Для корректной работы приложения, пользователю может отображаться значок в status bar либо перманентное уведомление в центре уведомлений о том, что запущена foreground service. Пользователь НЕ должен видеть никаких других уведомлений от приложения, даже когда оно получает или отправляет информацию на сервер.


4. Уровень надежности - минимум 95% событий входа/выхода из геозоны должны фиксироваться, не требуя от пользователя смартфона никаких действий (смартфон лежит заблокированный в сумке или кармане);


5. Допустимая задержка между физическим входом/выходом смартфона из геозоны и поступлением события на сервер < 60 секунд (при условии, что смартфон подключен к интернету и разрешена геолокация);


6. Ложные срабатывания входа/выхода в геозону недопустимы;


7. Приложение должно потреблять не более 170 мАч энергии смартфона в сутки (либо не более 5% в сутки, для более емких аккумуляторов);


8. Если смартфон был выключен или перезагружен, при включении приложение должно запускаться автоматически;


9. Приложение должно соответствовать перечисленным требованиям на любом смартфоне, работающим под управлением ОС Android версии 5.0 и новее, вне зависимости от наличия Google Play Services и Google Mobile Services.


10. Срок выполнения работ не может быть превышен более, чем на 1 месяц, при отсутствии задержек со стороны Заказчика.


11. После завершения работ, Исполнитель подписывает с Заказчиком Договор уступки прав на мобильное приложение как результат работы, присылает Заказчику скан и отправляет оригиналы Договора (2 экземпляра) и NDA (2 экземпляра) по почте на адрес Заказчика.




Если любое из критических требований не выполнено, Заказчику возвращается 100% суммы заказа (за вычетом комиссии за безопасную сделку).






ТРЕБОВАНИЯ К РЕЗУЛЬТАТУ




Работа не считается завершенной в полном объеме, если нарушено любое из или нижеперечисленных требований:




1. Дизайн и копирайт на экранах приложения должны соответствовать макетам Заказчика;


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





ПОРЯДОК И СРОКИ РАБОТЫ




- Завершив и протестировав версию приложения, Исполнитель присылает ее Заказчику, после чего Заказчик имеет 5 дней на тестирование на своих устройствах;


- При обнаружении недостатков, Заказчик присылает Исполнителю их список, после чего Исполнитель пытается их устранить.




Максимальный срок выполнения работ Исполнителем - 30 календарных дней.






Сроки и условия работы могут быть изменены по согласованию сторон в переписке.

Файлы