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

банки и финансы
flutter
kotlin
BLE
технологии
менеджер проекта
ux/ui дизайнер
flutter разработчик
команда
ноябрь 2022 –декабрь 2022
срок
Содержание
Вводные данные
Клиент
Компания клиента - это компания, специализирующаяся на обмене криптовалютными лотами с использованием арбитражных стратегий.

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

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

Процесс работы
1.Проектирование
1.Проектирование
По запросу клиента для разработки backend-части с нашей стороны был выбран язык программирования Go. Это решение позволило бы inhouse команде разработки клиента самостоятельно поддерживать проект.
Для frontend-части был выбран React. Такой выбор позволил создать динамичный и отзывчивый интерфейс, который легко адаптируется под различные устройства и экраны.
Также в данном проекте мы использовали библиотеку Material UI, чтобы эффективно разработать компоненты с единым стилем. Мы часто используем данную библиотеку в наших проектах для обеспечения адаптивности и ускорения процесса процесса разработки.
В работе над проектом с нашей стороны участвовали семь человек: два Python разработчика, два React разработчик, дизайнер, менеджер проекта и тестировщик.

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

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

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

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

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

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

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

Банки и финансы
приложение для первого онлайн-банка в Азербайджане
банки и финансы
финтех стартап, который меняет подход к погашению долга на кредитных картах
разработка
мобильного
приложения