Авторизация
Сброс пароля
P2P для обмена криптовалютой
Заказчик: NDA

Разработан веб-сервис для обмена криптовалютой.
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. Заключение
Разработан веб-сервис



