ОПИСАНИЕ ФУНКЦИОНАЛЬНЫХ ХАРАКТЕРИСТИК ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ «ПЛАВНО»
Сервис «ПЛАВНО» — специализированный программный комплекс, доступный по адресам: https://www.plavno.ru/, https://plvn.cc/[id], https://manage.plvn.cc/, а также в виде мобильного приложения, представляющий собой совокупность программно-аппаратных средств, позволяющий:
Пользователям — плательщикам чаевых: конфигурировать и оплачивать чаевые, оставлять отзывы о работе персонала заведений, в которых размещен Сервис «ПЛАВНО»;
Пользователям — получателям чаевых (сотрудникам заведений): регистрироваться и авторизовываться в Сервисе «ПЛАВНО», отслеживать полученные чаевые, выводить полученные средства удобным для себя способом — СБП или банковская карта, отслеживать отзывы пользователей — плательщиков чаевых, настраивать свой профиль — устанавливать фото (аватар), имя, отображаемую цель сбора чаевых.
ПЛАВНО — облачный сервис1, реализующий функционал приёма безналичных чаевых по QR коду. Особенность сервиса состоит в том, что он не может быть скачан и установлен в полном объёме, т.к. представляет собой архитектуру «тонкого» клиента — все функциональные блоки в рамках микросервисной архитектуры взаимодействуют между собой строго структурировано через API и могут быть запущены или в веб-версии, или в виде мобильного приложения. Основные функциональные блоки:
клиентская страница (подстраивается под ситуацию в момент открытия клиентом, а именно — если заказ есть — отображается состав счёта и возможность его оплатить, а также возможность оставить чаевые, если нет заказа, или страница ссылается только на получение чаевых, то в зависимости от настроек конкретной точки вызова — ссылки на сервис, закодированной в QR — отображается индивидуальные, групповые, списочные страницы конфигурирования чаевых с последующей оплатой через интеграцию с сервисом best2pay;
личный кабинет сотрудника с функционалом управления настройками и командами заведения в части сбора чаевых, а также отслеживания статистики чаевых сотрудникам и от отзывов на сотрудников или заведение от клиентов;
сервера plavno.ru;
базы данных plavno.ru.
Для построения платформы использованы собственные разработки, а также open source решения, доработанные сотрудниками компании.
Архитектура
Рисунок 1. Архитектура
На Рисунке 1 представлена архитектура программного комплекса, не включая вспомогательные системы. Описание основных компонентов платформы:
Web-версия для плательщиков чаевых — клиентское программное обеспечение, позволяющее пользователям Сервиса «ПЛАВНО» осуществлять оплату чаевых и оставлять отзывы по QR коду. Программное обеспечение разработано сотрудниками компании с использованием языков программирования React/TypeScript.
Мобильное приложение или web-версия для получателей чаевых — клиентское программное обеспечение, позволяющее пользователям регистрироваться и авторизовываться в Сервисе «ПЛАВНО», отслеживать полученные чаевые, выводить полученные средства удобным для себя способом — СБП или банковская карта, отслеживать отзывы пользователей — плательщиков чаевых, настраивать свой профиль — устанавливать фото (аватар), имя, отображаемую цель сбора чаевых. Программное обеспечение разработано сотрудниками компании с использованием языков программирования React/TypeScript, react native.
Сервера plavno.ru — среди серверов Сервиса «ПЛАВНО» в качестве основных можно выделить следующие:
API-сервера: сервера, которые разграничивают внутреннюю и внешнюю сеть. Они принимают запросы из внешней сети (от клиентских приложений), передают на обработку бэкендам и возвращают ответ.
backend-сервера: группы серверов с бизнес-логикой, написанной на Python.
Программное обеспечение разработано сотрудниками компании с использованием языка программирования Python (FastAPI).
Базы данных plavno.ru — программный комплекс для хранения данных. Комплекс состоит из нескольких независимых кластеров, построенных на базе PostgreSQL (СПО).
Условия применения, требования к аппаратному обеспечению
Требования к аппаратному обеспечению ПО «ПЛАВНО» определяются для каждой подсистемы отдельно исходя из количества пользователей, их активности и объема сохраняемых данных. Требования к аппаратному обеспечению ПО «ПЛАВНО» должны быть пропорционально увеличены при росте числа пользователей системы или росте нагрузки на эксплуатируемую систему. Серверная часть Сервиса «ПЛАВНО» развернута в кластере kubernetes, который позволяет делать это автоматически.
1. Облачный сервис — это программно-аппаратный комплекс, предоставляемый пользователю через сеть Интернет по модели «как услуга» (SaaS, PaaS, IaaS или иная), в котором функциональные возможности, вычислительные ресурсы и данные централизованно размещаются и управляются на стороне провайдера. Сервис обеспечивает удалённый доступ к прикладным решениям, хранению, обработке и передаче данных без необходимости локальной установки ПО или управления инфраструктурой со стороны конечного пользователя. Архитектура сервиса построена на принципах масштабируемости, отказоустойчивости и многопользовательского доступа, с возможностью гибкой настройки объёмов потребляемых ресурсов.