ООО "Тайрай Франчайзинг"
Мода и красота
Россия, Москва
IOS, Android
Ноябрь 2022
Заказчик обратился к нам за разработкой функционального мобильного приложения для сети массажных салонов с целью повышения лояльности посетителей и внедрения новых фичей.
Наличие мобильного приложения у компании делает ее более надежной и качественной в глазах клиента. Пользователи мобильного приложения чаще выбирают услуги такой компании и более охотно соглашаются на новые предложения, готовы рекомендовать ее знакомым.
Внедрение новых функций объединило бы бизнес-логику сайта и мобильного приложения, привлекая тем самым новых посетителей.
Методика работы
DDD
При разработке приложения нами был использован подход DDD. При данном подходе код полностью отражает бизнес-процессы в рамках ограниченного контекста ведения проекта. В процессе разработки взаимодействие ведется в первую очередь, на языке бизнеса, а не технологий.
Event Storming
В связи с тем, что логика онлайн-записи разрабатывалась почти с нуля, нами было принято решение использовать для моделирования предметной области Event storming. Данный метод позволяет не упустить малейшие нюансы логики записи и составить общее представление (между нами и заказчиком) о проекте и его реализации.
Интеграция с 1С
Бэк написан на фреймворке Laravel. Главной задачей бэка являлась интеграция с 1С и платёжными системами. Общаются они между собой через REST API.
Основной сложностью было переложение данных из 1С на представление этих данных в приложении. Также, не самая простая оплата при создании онлайн-записи. Несколько методов оплаты, которые могут комбинироваться.
Благодаря проделанной работе была сохранена и объединена логика работы сайта и приложения.
Личный кабинет
В приложении был реализован личный кабинет с возможностью редактирования своих личных данных. Также, в приложении отображаются прошедшие и запланированные визиты пользователя.
Online-запись
В приложении реализовано две логики записи: можно начать создание визита с выбора салона или с выбора даты.
Благодаря гибкой логике онлайн-записи, пользователь может начать запись с приоритетного для него этапа.
Особенности frontend-разработки
Мобильное приложение было разработано при помощи технологии React Native. Это позволило создать качественный продукт для двух мобильных платформ Android и IOS одновременно. Преимущество React Native заключается в том, что разработка ведется на базе хорошо известной библиотеки React, но при этом отображение приложений происходит так, как будто они были разработаны нативно для каждой платформы.
Клиентская часть написана с применением языка программирования TypeScript, так как он расширяет возможности JavaScript. В нашем случае он был использован для повышения качества кода и, тем самым, ускорения времени разработки путем уменьшения количества допущенных ошибок.
Автотесты
Во время разработки тестировщику приходиться постоянно испытывать на себе весь функционал приложения, чтобы ошибки не попадали в руки к клиентам. Но по мере добавления фич тестирование всего функционала может занимать очень много времени, а сломаться может все. Для ускорения тестирования на проекте Тайрай мы использовали автотесты.
Автотесты — это тесты, которые выполняет компьютер, а не человек. Этот метод выполняется с использованием специальных программных средств, которые проверяют правильность работы определенной части приложения и фиксируют ошибки в случае, если что-то работает не так.
Подробнее о типах автотестов, которые мы использовали на проекте:
01.
Unit-тесты. Unit-тестирование — это разновидность тестирования, которое заключается в проверке работоспособности отдельных функциональных модулей (юнитов), процессов или частей кода приложения. Такое тестирование позволяет избежать ошибок или быстро исправить их при обновлении или дополнении в приложение новых компонентов, не тратя время на проверку программного обеспечения целиком.
02.
End-to-end тесты. Сквозное тестирование, или End-to-end тестирование — это процесс тестирования, при котором происходит подробная эмуляция пользовательской среды. При данном тестировании имитируются, например, клики на кнопки, заполнение форм, переходы по ссылкам и другие поведенческие модели пользователей.
Автотесты позволили нам не упустить важные баги и показать заказчику полноценное и функциональное мобильное приложение.
Оплата
Для приложения было реализовано 5 вариантов оплаты. Пользователь может выбрать наиболее удобный и подходящий ему:
— Оплата в салоне
— Онлайн-оплата
— Оплата сертификатом
— Оплата абонементом
— Оплата бонусами
Оплаты можно комбинировать между собой и оплачивать любыми возможными вариантами.
Особенностью реализации оплаты в приложении является использование нативных языков Java и Swift. При их помощи были произведены интеграции с API Apple Pay и Google Pay.
Интеграция с Яндекс.картами
Данная интеграция была реализована с помощью системного компонента web view. Это позволило нам открывать карты с отмеченными на них салонами не переходя в приложение Яндекс.Карты или браузер.
Push-уведомления
При подтверждении визита были настроены пуш-уведомления за 3 часа до посещения.
Результат
В результате получили простое и понятное в использовании приложение с гибкой системой онлайн-записи для жителей России. В ходе работ заказчик оказывал всю необходимую помощь для построения эффективной работы по разработке и проектированию сервиса.
Студия Флаг с удовольствием обсудит вашу задачу