Мобильное приложение, имитирующие приложение для банков или магазинов
Только нативная разработка!
Приложение в реальной жизни использоваться не будет. Оно будет использоваться просто для того, чтобы показать, как это будет работать в реальной жизни.
Краткое описание проекта и ключевых требований приведено ниже.
Краткое описание:
Мобильное приложение необходимо для клиентов банков и магазинов и рассылки им персональных предложений.
Ключевые функции приложения:
1. Отображение персональных предложений, а также данных о клиенте, получаемых по запросу с сервера
2. Определение местоположения телефона с использованием следующих способов геолокации;
a. Определение ближайших WIFI сетей (без подключения)
b. Определение BLE устройств (маячки)
c. Определение GPS координат
3. Передача информации о состоянии устройства на сервер
4. Имитация личного кабинета пользователя:
a. Мобильный банк
b. Магазин
Функциональные требования:
1. Предметные области - Мобильное приложение должно поддерживать несколько предметных областей для каждой отрасли: мобильный банк, магазин.
2. Предметные области - Переключение между предметными областями должно осуществляться на начальном экране приложения в момент запуска приложения
3. Коммуникация - Мобильное приложение в момент запуска должно проверять доступ к заданной WIFI сети, если доступа нет – выдавать информационное сообщение и осуществлять попытку подключения. Если попытка подключения неуспешна, выводить информационное сообщение.
4. Коммуникация - В приложении должна быть реализована возможность подключения к требуемой сети по запросу пользователя без перезапуска приложения.
5. Коммуникация - Мобильное приложение должно по запросу пользователя производить обновление настроек с сервера, адрес которого является редактируемым и задается через интерфейс.
6. Коммуникация - Приложение должно обмениваться данными с сервером с настраиваемой периодичностью
7. Геолокация - Периодичность проверки геолокационной позиции должна быть редактируемой и указываться в секундах из пользовательского интерфейса
8. Геолокация - Мобильное приложение должно идентифицировать местонахождение устройства перечисленными ниже способами.
9. WIFI - Мобильное устройство с задаваемой периодичностью производит сканирование доступных WIFI сетей (SSID).
10. WIFI - При обнаружении среди доступных SSID сети с определенным именем, приложение должно делать запрос на сервер для получения данных (маркетингового предложения).
11. WIFI - Наименование искомой сети WIFI должно быть редактируемым и задаваться из пользовательского интерфейса в виде списка значений. Таким образом, обращение к серверу должно происходить при нахождении любой сети из списка.
12. Bluetooth LE - Мобильное приложение с задаваемой периодичностью производит сканирование доступных сигналов Bluetooth LE.
13. Bluetooth LE - Мобильное приложение должно поддерживать стандарт iBeacon.
14. Bluetooth LE - Мобильное приложение должно поддерживать стандарт AltBeacon.
15. Bluetooth LE - Мобильное приложение должно поддерживать стандарт Eddystone.
16. Bluetooth LE - При обнаружении сигнала с заданным идентификатором, приложение должно делать запрос на сервер для получения данных (маркетингового предложения).
17. Bluetooth LE - Наименование идентификатора должно быть редактируемым и задаваться из пользовательского интерфейса в виде списка значений. Таким образом, обращение к серверу должно происходить при нахождении любой сети из списка.
18. GPS - Мобильное приложение должно с задаваемой периодичностью производить проверку местонахождения по данным GPS.
19. GPS - При обнаружения совпадения с заданными координатами, приложение должно делать запрос на сервер для получения данных (маркетингового предложения). Таким образом, обращение к серверу должно происходить при совпадении значений любой пары из списка.
20. GPS - Координаты должны задаваться двумя параметрами: долготой и широтой.
21. GPS -Должна быть предусмотрена возможность указания допустимой погрешности при задании координат местоположения.
22. GPS - Должна быть предусмотрена возможность ведения списка проверяемых координат.
23. Получение предложения - Приложение должно интерпретировать получаемую с сервера информацию о предложении и отображать ее на странице приложения.
24. Получение предложения - Приложение должно обеспечивать нотификацию о поступлении нового предложения, если находится в свернутом виде.
25. Передача состояния устройства - С задаваемой периодичностью приложение должно отсылать информацию об устройстве, а также геолокационные данные на сервер.
26. Передача состояния устройства - Периодичность отправки должна быть настраиваемой и задаваться в секундах.
27. Получение продуктов - Приложение должно загружать информацию о продуктах клиента с задаваемой периодичностью
28. Получение продуктов - Загрузка должна осуществляться в асинхронном фоновом режиме при переходе на соответствующие вкладки, а также на регулярной основе с задаваемой периодичностью
29. Получение транзакций - Приложение должно загружать информацию о транзакциях клиента с задаваемой периодичностью
30. Получение транзакций - Загрузка должна осуществляться в асинхронном фоновом режиме при переходе на соответствующие вкладки, а также на регулярной основе с задаваемой периодичностью
31. Информационные страницы - Приложение должно подключаться к веб сайту для отображения информационных страниц
Не функциональные требования:
1. Протоколы - Используемые протоколы должны соответствовать стандартам RESTful.
2. Получение данных - Для получения данных предполагается использовать метод GET в синхронном режиме.
3. Передача данных - Для передачи данных предполагает использовать метод POST в асинхронном режиме.
4. Формат данных - Используемый формат данных должен соответствовать стандарту JSON (RFC 4627)
5. Хранение данных - Мобильное приложение должно хранить пользовательские настройки
6. Локализация - Мобильное приложение должно поддерживать два языка (русский и английский). Приложение использует русский язык, если он выбран основным для устройства. Приложение использует английский язык во всех остальных случаях.
7. Документация - Приложение должно быть тщательно документировано. Документация подразумевает описание структур данных, классов, пакетов и методов.
8. Исходный код - Исходный код должен быть предоставлен в полном объеме
9. Использование коммерческих разработок - Код не должен использовать платных решений третьих лиц
10. Адаптивность - Мобильное приложение должно обладать адаптивным дизайном и подстраиваться под разрешения в формате 16:9 от HD(1280x720) до 2K(2560x1440) и в формате 4:3 от (1024x768) до (2048x1536)
11. Адаптивность - Мобильное приложение должно обладать простым и интуитивно понятным интерфейсом
12. OS - Мобильное приложение должно поддерживать Android начиная с версии 18 (4.3)
Приложил ТЗ к проекту.
Указывайте бюджет и сроки!