ООО "КОМПАС"
1 500 000
Финансы, страхование, инвестиции
Россия, Москва
Порталы и сервисы
Май 2024
Компания клиента - специализируется на обмене криптовалютными лотами с использованием арбитражных стратегий.
Основная стратегия компании заключается в предоставлении арбитражникам возможностей для заработка на разнице курсов криптовалют. Компания продает арбитражникам USDT по сниженной цене, что позволяет им получать прибыль при последующей продаже на рынке.
В рамках проекта было решено: • спроектировать новый интерфейс личного кабинета пользователей с учётом удобства и адаптивности; • разработать административную панель для сотрудников компании; • реализовать функционал работы с лотами: приём, отказ, подтверждение исполнения с загрузкой чека; • внедрить роли пользователей (Администратор, Сотрудник поддержки, Пользователь, Финансовый менеджер) с разграничением доступа; • автоматизировать процесс переводов криптовалюты с подтверждением через Telegram; • подключить систему мониторинга на базе Grafana и Prometheus для отслеживания активности пользователей и потоков лотов; • обеспечить адаптивную версию сайта для работы с мобильных устройств; • создать расширенные функции аналитики и отчётности с возможностью выгрузки данных в формате XLS; • провести нагрузочное тестирование системы с использованием скриптов, имитирующих реальные сценарии работы.
По запросу клиента для разработки backend-части с нашей стороны был выбран язык программирования Go. Это решение позволило бы inhouse команде разработки клиента самостоятельно поддерживать проект.
Для frontend-части был выбран React. Такой выбор позволил создать динамичный и отзывчивый интерфейс, который легко адаптируется под различные устройства и экраны.
Также в данном проекте мы использовали библиотеку Material UI, чтобы эффективно разработать компоненты с единым стилем. Мы часто используем данную библиотеку в наших проектах для обеспечения адаптивности и ускорения процесса процесса разработки.В работе над проектом с нашей стороны участвовали семь человек: два Python разработчика, два React разработчик, дизайнер, менеджер проекта и тестировщик.
Дизайн и создание базовой административной панели
Реализация функционала добавления новых пользователей с различными ролями (Администратор, Сотрудник поддержки, Пользователь). Отображение информации по текущим лотам во всех статусах и изменение статусов после изменения его в системе.

Дизайн и создание личного кабинета
Разработка интерфейса личного кабинета с отображением всех лотов, поступающих в систему. Интеграция с существующей системой клиента для получения данных о лотах и их отображения в нашей системе.
Внедрение функционала распределения лотов между пользователями и логики их обработки. Обеспечение возможности пользователям брать лоты в работу или отказываться от них. Реализация подтверждения выплат с загрузкой чека об оплате для перевода лота в статус «Исполнен».

После входа в личный кабинет пользователь должен активировать свой кабинет для приема. Это действие открывает возможность для распределения лотов на его аккаунт. Лоты, поступающие на аккаунт пользователя, отображаются в списке лотов в работе в личном кабинете.
Пользователь может взаимодействовать с лотами следующим образом:
Взять лот в работу: Если пользователь решает работать с лотом, он берет его в работу, и лот переходит в соответствующий статус. Для подтверждения выполнения лота требуется загрузить чек об оплате. Без чека лот не может быть исполнен.
Отказаться от лота: Пользователь также имеет возможность отказаться от лота, если не может или не хочет с ним работать.
Также пользователь может просмотреть все свои лоты в финальном статусе во вкладке “Архив” и загрузить дополнительные документы, если понадобится.
Все действия, связанные с лотами, отображаются в личном кабинете сотрудника поддержки, который может видеть историю всех операций, фильтровать их по различным параметрам и выгружать отчеты в формате XLS для анализа и сверки.Поскольку многим пользователям удобнее работать с сайта через мобильные устройства, мы создали адаптивную версию сайта.

Внедрение системы метрик для отслеживания работы платформы
Интеграция с Graphana и Prometheus для мониторинга действий пользователей и количества поступающих лотов, распределенных по платежным сервисам.
Для мониторинга активности пользователей и отслеживания количества поступающих лотов с разбивкой по платежным сервисам была внедрена система мониторинга на базе Graphana и Prometheus. Это позволило сотрудникам поддержки в реальном времени отслеживать ситуацию с личными кабинетами пользователей и своевременно реагировать на возможные ошибки или проблемы.
Совместно с клиентом мы решили внедрить систему мониторинга, используя инструменты Graphana и Prometheus. Это решение позволило клиенту следить за работой арбитражников и потоком трафика лотов в реальном времени. Такой мониторинг помог понять, насколько нагружены пользователи и сайт в текущий момент. Кроме того, система мониторинга позволит выявить ошибки в работе с лотами, если они будут находиться в каком-либо статусе дольше положенного времени.

Разработка функционала для финансового менеджера
Реализация процесса автоматизации переводов криптовалюты с кошелька компании на кошелек арбитражника после пополнения баланса пользователя с подтверждением перевода через ввод кода из Telegram.
Баланс пользователей пополняется через административную панель сотрудниками поддержки. Изначально процесс пополнения включал в себя два основных шага:Сотрудник поддержки изменял баланс пользователя через административную панельДалее финансовый менеджер вручную осуществлял перевод криптовалюты с кошелька компании на кошелек пользователя.
Из-за большого объема переводов было принято решение автоматизировать процесс перевода, чтобы разгрузить сотрудников. Теперь после пополнения ручной корректировки баланса сотрудником поддержки, финансовому менеджеру необходимо выбрать в общем списке транзакций по какой именно транзакции необходимо осуществить перевод и ввести код из Telegram, для подтверждения перевода.
После чего инициализировался перевод с кошелька на кошелек. Для упрощения операции к каждому пользователю был привязан один кошелек, чтобы не возникало ситуаций с переводом на некорректный кошелек.
Чтобы обеспечить безопасность и разделение обязанностей, доступ к этому функционалу предоставляется только пользователям с ролью “Финансовый менеджер”.
- Разработка возможности просмотра отчетов в административной панели.
- Обеспечение фильтрации отчетов по различным параметрам и выгрузки их в формате XLS.
Для обеспечения стабильности и производительности разработанных систем был проведён этап тестирования. Были написаны скрипты, имитирующие поведение пользователей в личном кабинете, чтобы проверить нагрузку системы. Эти скрипты симулировали различные сценарии использования, такие как вход в систему, взаимодействие с лотами, подтверждение выплат и отказ от лотов.В результате тестирования мы получили уверенность в том, что разработанные решения готовы к использованию в реальных условиях с высоким уровнем нагрузки, обеспечивая бесперебойную работу для всех пользователей и сотрудников компании.
За четыре месяца работы мы реализовали с нуля личный кабинет для арбитражников и административную панель для команды клиента.После выпуска MVP реальные пользователи и сотрудники компании успешно перешли на новые интерфейсы.