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

react
go
технологии
менеджер проекта
ux/ui дизайнер
react разработчик
2х go разработчик
QA
команда
4 месяца
срок
Содержание
Вводные данные
Клиент
Компания, специализирующаяся на обмене криптовалютными лотами с использованием арбитражных стратегий.

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

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

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

Клиент хотел реализовать новый функционал:
  • переработать логику статусов лотов
  • расширить возможности аналитики
  • автоматизировать процессы перевода и отчёта.
Процесс работы
1.Проектирование
По запросу клиента для разработки backend-части с нашей стороны был выбран язык программирования Go. Это решение позволило бы in-house команде разработки клиента самостоятельно поддерживать проект после сдачи.

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

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

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

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

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

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

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

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

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

Разработка функционала для финансового менеджера
https://flaton.systems/projects/iot/annnigmБаланс пользователей пополняется через административную панель сотрудниками поддержки. Изначально процесс пополнения включал в себя два основных шага:
  1. Сотрудник поддержки изменял баланс пользователя через административную панель
  2. Далее финансовый менеджер вручную осуществлял перевод криптовалюты с кошелька компании на кошелек пользователя.

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

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

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

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

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