Авторизация
Забыли пароль?
Сброс пароля
Вернуться к авторизации

P2P для обмена криптовалютой

01 ноября ‘24

Заказчик: NDA

Разработан веб-сервис для обмена криптовалютой.

Агентство-исполнитель кейса

flaton

Мы разрабатываем fintech проекты для бизнеса и стартапов

1. Вводная задача от заказчика, проблематика, цели

Проблема

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

Также реализация нового функционала требовала значительных ресурсов и времени.

Задача

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

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

Административная панель

2. Описание реализации кейса и творческого пути по поиску оптимального решения

Процесс работы

1.Проектирование

По запросу клиента для разработки backend-части с нашей стороны был выбран язык программирования Go. Это решение позволило бы inhouse команде разработки клиента самостоятельно поддерживать проект.

Для frontend-части был выбран React. Такой выбор позволил создать динамичный и отзывчивый интерфейс, который легко адаптируется под различные устройства и экраны.

Также в данном проекте мы использовали библиотеку Material UI, чтобы эффективно разработать компоненты с единым стилем. Мы часто используем данную библиотеку в наших проектах для обеспечения адаптивности и ускорения процесса процесса разработки.

В работе над проектом с нашей стороны участвовали семь человек: два Python разработчика, два React разработчик, дизайнер, менеджер проекта и тестировщик.

2.Разработка

Дизайн и создание базовой административной панели

  • Реализация функционала добавления новых пользователей с различными ролями (Администратор, Сотрудник поддержки, Пользователь).
  • Отображение информации по текущим лотам во всех статусах и изменение статусов после изменения его в системе.

Дизайн и создание личного кабинета

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

После входа в личный кабинет пользователь должен активировать свой кабинет для приема. Это действие открывает возможность для распределения лотов на его аккаунт. Лоты, поступающие на аккаунт пользователя, отображаются в списке лотов в работе в личном кабинете. Пользователь может взаимодействовать с лотами следующим образом:

  • Взять лот в работу: Если пользователь решает работать с лотом, он берет его в работу, и лот переходит в соответствующий статус. Для подтверждения выполнения лота требуется загрузить чек об оплате. Без чека лот не может быть исполнен.
  • Отказаться от лота: Пользователь также имеет возможность отказаться от лота, если не может или не хочет с ним работать.

Также пользователь может просмотреть все свои лоты в финальном статусе во вкладке “Архив” и загрузить дополнительные документы, если понадобится.

Все действия, связанные с лотами, отображаются в личном кабинете сотрудника поддержки, который может видеть историю всех операций, фильтровать их по различным параметрам и выгружать отчеты в формате XLS для анализа и сверки.

Поскольку многим пользователям удобнее работать с сайта через мобильные устройства, мы создали адаптивную версию сайта.

Внедрение системы метрик для отслеживания работы платформы

  • Интеграция с Graphana и Prometheus для мониторинга действий пользователей и количества поступающих лотов, распределенных по платежным сервисам.

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

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

Разработка функционала для финансового менеджера

  • Реализация процесса автоматизации переводов криптовалюты с кошелька компании на кошелек арбитражника после пополнения баланса пользователя с подтверждением перевода через ввод кода из Telegram.

Баланс пользователей пополняется через административную панель сотрудниками поддержки. Изначально процесс пополнения включал в себя два основных шага:

  • 1. Сотрудник поддержки изменял баланс пользователя через административную панель
  • 2. Далее финансовый менеджер вручную осуществлял перевод криптовалюты с кошелька компании на кошелек пользователя.

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

Чтобы обеспечить безопасность и разделение обязанностей, доступ к этому функционалу предоставляется только пользователям с ролью “Финансовый менеджер”.

Добавление дополнительного функционала для сотрудников поддержки.

  • Разработка возможности просмотра отчетов в административной панели.
  • Обеспечение фильтрации отчетов по различным параметрам и выгрузки их в формате XLS.

Тестирование нагрузки системы

Для обеспечения стабильности и производительности разработанных систем был проведён этап тестирования. Были написаны скрипты, имитирующие поведение пользователей в личном кабинете, чтобы проверить нагрузку системы. Эти скрипты симулировали различные сценарии использования, такие как вход в систему, взаимодействие с лотами, подтверждение выплат и отказ от лотов.

В результате тестирования мы получили уверенность в том, что разработанные решения готовы к использованию в реальных условиях с высоким уровнем нагрузки, обеспечивая бесперебойную работу для всех пользователей и сотрудников компании.

Личный кабинет

Вид на мобильных устройствах

3. Результаты сотрудничества

  • За четыре месяца работы мы реализовали с нуля личный кабинет для арбитражников и административную панель для команды клиента.
  • После выпуска MVP реальные пользователи и сотрудники компании успешно перешли на новые интерфейсы.

4. Заключение

Разработан веб-сервис

Агентство-исполнитель кейса

flaton

Мы разрабатываем fintech проекты для бизнеса и стартапов