ДжазТим — надежный технологический партнер

Agile разработка ПО на Java

Разработка кроссплатформенного VoIP клиента

Описание проекта

Проект представляет собой разработку приложения по осуществлению звонков (SIP-устройство) на различные девайсы для Android, iOS, Web, а также Windows, Linux и MacOS.

Данное приложение позволяет создавать и хранить контакты внутри приложения, а также использовать контакты с устройства (для Android, iOS версий), осуществлять исходящие звонки и принимать входящие, хранить данные о совершённых вызовах.

Для Desktop-версии мы используем Electron фреймворк, который позволяет запускать наше приложение на трёх платформах: Mac, Windows и Linux.

Для реализации видеозвонков использована технология Flutter + WebRTC (Web Real-Time Communication). WebRTC — это актуальная технология, первоначально разработанная Google как проект с открытым исходным кодом для передачи данных в режиме реального времени.

На платформе заказчика используется SIP-протокол (Session Initiation Protocol). SIP-телефония легко интегрируется с сайтом компании, CRM-системами, базами данных и другими программами. У заказчика есть планы по интеграции разработанного мессенджера со многими сторонними системами.

Обязанности команды ДжазТим

Инженеры ДжазТим работали в составе международной команды, географически распределённой. Наши роли и обязанности на проекте:

  • Разработка с нуля многих ключевых возможностей мессенджера, включая видеозвонки, адресные книги (в том числе, например, синхронизация с адресной книгой в Android).
  • UI/UX дизайн интерфейса многих компонентов продукта, в том числе под мобильные устройства.
  • Проектирование и реализация CI/CD процессов с учётом необходимости развёртывания продукта под разные платформы из одной кодовой базы.
  • Тестирование продукта под все заявленные платформы.
  • Поддержка пользователей на стадии альфа-тестирования.

Стек технологий

Стек: Dart, Flutter (BloC), Kazoo, Kotlin

Протоколы: SIP, WebRTC.

БД: Firebase, Hive.

Фреймворки: Electron.js.

Тестирование: мануальное + Unit-тесты.

Инфраструктура: IntelliJ IDEA, Jira, VM VirtualBox, Confluence.

CI/CD: Bitbucket, Jenkins, SaltStack.

Логирование осуществляется локально. При необходимости пользователь отправляет log файл в службу поддержки.

Особенности проекта

  • Мультинациональная распределённая команда, при этом плотное ежедневное общение на английском языке.
  • Гибкая разработка — требования к продукту формировались и актуализировались по ходу разработки.
  • Современный и эффективный стек Flutter + Dart, разработанный и развиваемый корпорацией Google. Позволяет собирать мультиплатформенные приложения из одной кодовой базы.

Результаты проекта

Результатом данного проекта является стабильно работающее приложение для Android, iOS и Windows, которое было разработано с учётом всех требований заказчика и в установленные сроки.

Кроме того, усилиями команды специалистов ДжазТим:

  • Организован процесс непрерывной интеграции (Continuous Integration).
  • Реализованы универсальные решения в рамках CI Jenkins, которые позволяют минимизировать ручные активности при развёртывании всех версий приложения (см. рис.1).

Рис. 1 — Схема реализации CI на проекте.
  • Создано и регулярно прогоняется более сотни тест-кейсов для каждой функциональности проекта.
  • Организован процесс мануального тестирования, включающий в себя проведение функционального, кроссплатформенного (Android, iOS, Windows,Linux и MacOS), кросс-браузерного (Chrome, Firefox, Safari) тестирования, а также регрессионного тестирования перед каждым релизом. Благодаря этому, команда была способна на регулярной основе выявлять ошибки и оперативно исправлять их перед релизами.

Достижения компании на проекте

  • Быстрое погружение в предметную область и технические детали проекта за весьма короткий срок.
  • После достижения первичных целей проект не закончился. Сотрудничество продолжается в формате долговременного партнёрства.
  • Заказчику было предложено множество новых идей и подходов, при помощи которых команда смогла усовершенствовать процесс работы, что впоследствии позволило выпустить более качественный продукт.
  • Создана документация по сопровождению проекта полностью на английском языке, включающая в себя набор тест-кейсов, описывающих работу различных функциональностей приложения.

Скриншоты

Свяжитесь с нами, чтобы обсудить Ваш IT-проект

    Имя *

    Название компании

    Email *

    Телефон

    Чем мы можем Вам помочь? *

    * – Обязательные поля для заполнения