Корпоративное мобильное приложение по учету трафика и управлению расходами на коммуникации
Краткое описание проекта: разработанное нами мобильное приложение работает на платформе Android и является корпоративным рабочим инструментом по учету трафика и управлению расходами на коммуникации для любого сотрудника телеком компании.
Данное приложение предназначено для управления расходами пользователя на услуги связи, ведения учета исходящей и входящей информации (телефонные звонки, смс, ммс, интернет-трафик).
Функции приложения:
- Осуществляет мониторинг всех видов использованного трафика (звонки, сообщения, передача данных) на устройстве.
- Показывает фактическую стоимость использованного трафика как в визуальных отчетах, так и в уведомлениях. Для удобного просмотра статистики по расходам отчеты включают в себя разнообразные диаграммы и графики.
- Оповещает пользователя о количестве списанных средств посредством Android-уведомлений.
- Предоставляет возможность просмотреть историю использования средств.
- Уведомляет пользователя, когда стоимость использованного трафика превышает определенный порог, когда он превышает свой корпоративный бюджет, или когда необходимо определить категорию вызова: звонок на бизнес коммуникации или звонок для личного пользования.
Приложение интегрировано с системой заказчика и использует существующую обширную библиотеку тарифных планов заказчика. Перед началом использования приложения требуется активация аккаунта. После активации приложение работает независимо и не требует дальнейшей настройки.
Для загрузки и выгрузки необходимой информации в приложении организована ежемесячная синхронизация с сервером заказчика: раз в месяц приложение загружает с сервера подробные тарифные планы и политики выставления счетов за этот номер телефона. В это же время результаты раздельного биллинга за последний месяц возвращаются на сервер заказчика. После этой ежемесячной синхронизации приложение работает автономно и больше не требует подключения к серверу.
Возможности данного приложения позволяют пользователю оптимизировать телекоммуникационные расходы и уменьшить операционные расходы на услуги связи.
Техническое описание проекта:
Данный проект собирается инструментом Maven. С помощью Maven организована автоматическая сборка приложения с настройкой профилирования, управление зависимостями с использованием нескольких репозиториев.
В качестве базы данных для хранения данных на Android устройстве в приложении используется SQLite. Для связи таблиц базы данных с объектной моделью приложения используется ORMLite фреймворк.
В приложении присутствует большое количество графиков и диаграмм, которые реализованы с помощью библиотеки AChartEngine.
Создано несколько наблюдателей для сбора данных о расходах клиента на услуги связи.
Приложение интегрировано с другими системами заказчика с помощью Rest и SOAP веб-сервисов.
Unit-тестирование данного Android-приложения проведено с помощью фреймворка Robolectric.
Приложение защищено от реверс-инжиниринга с помощью ProGuard библиотеки, а также подписано SSL сертификатом, который создан с помощью BounceCastle библиотеки.
В качестве системы контроля версий на проекте использовался SVN, и Jenkins – как система непрерывной интеграции. С помощью Jenkins также организовано автоматическое обновление приложения в маркете.
Технологии:
Stack: Java, Android SDK, Maven, OpenCSV, Gson, Json, Apache commons, Apache POI, Rest, Soap.
Infrastructure: Jenkins, SVN.
Test Automation libraries: JUnit, Robolectriс, Mockito.
DB: SQLite, ORMLite.
Other libraries: Support Library, Achartengine, LibPhoneNumber, ProGuard, BounceCastle.
Скриншоты:
Что делали на проекте, наши обязанности:
В рамках работы на проекте наша команда занималась поддержкой работоспособности приложения, исправлением багов и разработкой нового функционала.
Особенности проекта:
- Взаимодействие с распределенной англо- и русскоязычной командой.
- Поддержка различных версий Android и огромного количества разрешений.
- Интеграция приложения с другими системами заказчика.
Результат проекта:
- Реализован новый функционал и исправлены баги.
- В pom-файл Android проекта добавлен репозиторий для загрузки зависимости support-v4, т.к. в стандартном Maven репозитории нужной версии для этой зависимости нет.
- Написаны Unit-тесты для Android-приложения.
- Проект успешно стабилизирован и добавлен в маркет.
- Все фазы проекта завершены успешно.
Достижения компании на проекте:
- Внедрен Continuous Integration, создана автоматизированная сборка и подписывание приложения сертификатом.
- Создана документация по сопровождению проекта.
- Проведен анализ производительности и оптимизированы запросы для улучшения работы приложения.