Криптовалютная торговая платформа
Развивал и глубоко кастомизировал крупную криптовалютную платформу, которая объединяла в одном продукте биржевую торговлю, пользовательские кошельки, транзакционный контур, P2P, инвестиционные модули, KYC, уведомления, API-доступ, CRM-функции и административное управление всей системой. Это не отдельная страница обмена, а большая модульная платформа с двумя фронтендами, собственным backend-движком на TypeScript, realtime-логикой, очередями фоновых задач, широкой доменной моделью и отдельной расчётной средой для торговых операций.
Сильная сторона проекта в том, что он охватывал сразу несколько уровней:
- пользовательский контур с торговлей, кошельками и личным кабинетом;
- административный контур с управлением рынками, транзакциями, правами, KYC, контентом и системными настройками;
- серверный контур с API, WebSocket, очередями, кэшированием и фоновыми обработчиками;
- предметный контур с большим числом финансовых и инфраструктурных сущностей.
Контекст проекта
- Проект развивался как полноценная криптофинансовая платформа, а не как отдельный обменник или лендинг.
- В системе были выделены отдельные фронтенды для административной панели и пользовательского кабинета.
- Архитектура была рассчитана на расширение через отдельные модули и дополнительные продуктовые блоки.
- Платформа совмещала в себе биржевой контур, кошельки, инвестиционные продукты, P2P-направление, расширения экосистемы и инструменты сопровождения.
- Для торгового контура использовалась отдельная среда расчётов и исполнения, которая подменяла прямые обращения к
binance.com.
Что было реализовано
- Развивал платформу с двумя отдельными фронтендами:
wwwкак административный и основной продуктовый контур наNext.js 14,React 18,TypeScript, иwww_usersкак пользовательский кабинет и exchange-интерфейс наNext.js,React,TypeScript,Redux. - Реализовал собственный backend-контур на
TypeScriptс HTTP- и WebSocket-обработкой. - Использовал
uWebSockets.jsкак высокопроизводительную основу для сервера. - Построил собственную систему роутинга, middleware, обработки запросов и ответов.
- Реализовал аутентификацию через токены, сессии, Redis и API-ключи.
- Добавил role-based и permission-based доступ как для обычных пользователей, так и для интеграционного доступа по API-ключам.
- Реализовал rate limit, CSRF-проверки и защиту операций с повышенным риском.
- Построил доменную модель на
SequelizeиMySQLс большим набором сущностей.
Основные продуктовые контуры
Биржа и торговля
- Реализован торговый контур для spot/exchange-операций.
- Поддержаны торговые пары, рынки, ордера, watchlist, тикеры и графики.
- В более раннем слое платформы также были подтверждены отдельные сущности под
buy,sell,stop limit, условные покупки и продажи, избранные торговые пары и избранные книги ордеров. - В пользовательском кабинете реализован exchange-dashboard с выбором пары, книгой ордеров и обновлением данных в реальном времени.
- Поддержан realtime-контур для торговых событий и обновления стакана через WebSocket.
- Со стороны backend прорабатывал отдельный слой запросов и интеграции между платформой и внешней расчётной средой, которая заменяла прямую работу с API
binance.com. - Сам вычислительный торговый контур был написан отдельным разработчиком на
C++, а я реализовывал и развивал серверную логику взаимодействия платформы с этой средой. - В административной панели есть управление провайдерами биржи, маркетами, комиссиями, балансами, ордерами и служебной аналитикой.
Кошельки и финансовые операции
- Реализован кошелёчный контур с пользовательскими балансами и типами кошельков.
- Поддержаны пополнение, вывод, внутренние переводы и история операций.
- Есть управление валютами, способами пополнения, способами вывода и gateway-настройками.
- Реализованы отдельные административные сценарии согласования и обработки операций вывода.
- Присутствует расчёт и очистка PnL, а также отдельные фоновые процессы по работе с балансами.
P2P и расширенные финансовые сценарии
- Реализован P2P-контур с офферами, трейдами, escrow, комиссиями, dispute-сценариями, отзывами и платёжными методами.
- Присутствуют отдельные пользовательские и административные экраны для P2P-механики.
- В платформе реализованы бинарные ордера и отдельные интерфейсы для binary-торговли.
- Добавлен futures-контур с отдельными рынками, позициями и торговыми экранами.
- В платформе также прослеживается отдельный referral и affiliation-контур с бонусной логикой, историей начислений и сетевыми сценариями.
Инвестиционные и расширяемые модули
- В платформе присутствуют модули общих инвестиций, AI investment, forex, staking и ICO.
- Для каждого направления есть собственные планы, длительности, логи, аналитика и административные разделы.
- Реализованы фоновые процессы обработки активных инвестиций, начислений, завершения периодов и постобработки результатов.
- Поддержана модульная активация дополнительных направлений через extensions.
Экосистема и on-chain контур
- Реализован отдельный ecosystem-контур.
- В нём предусмотрены market, token, UTXO, private ledger, master wallet и custodial wallet.
- На серверной стороне есть работа с адресами, сетями, blockchain explorer API и смарт-контрактами.
- Для части сценариев депозитов и выводов система переключается на ecosystem-маршруты и отдельную бизнес-логику.
CRM, безопасность и пользовательский контур
- Реализован пользовательский кабинет с профилем, KYC, уведомлениями, историей операций и настройками.
- Поддержаны регистрация, логин, восстановление доступа, email verification, Google login, wallet login и OTP/2FA-сценарии.
- Есть KYC-профили, шаблоны, уровни проверки и административная обработка заявок.
- Реализованы API-ключи с набором разрешений для интеграционного доступа к торговым и финансовым операциям.
- В административной панели присутствуют модули пользователей, ролей, разрешений, support ticket и KYC-management.
Контент и сервисные блоки
- Внутри платформы есть CMS-контур: страницы, посты, категории, теги, слайдеры, медиа, авторы и комментарии.
- Реализованы FAQ, анонсы, шаблоны уведомлений и mailwizard-кампании.
- Есть storefront/ecommerce-контур с товарами, заказами, скидками, доставкой, wishlist и review-механикой.
- Для части покупок и инвестиционных сценариев задействованы ограничения по KYC и балансу кошелька.
- По дампу также подтверждаются кастомные страницы, landing-блоки, мультиязычность, переводы и отдельные публичные контентные сущности для маркетингового контура платформы.
Что было важно технически
- Серверная часть построена не на типовом Express-стеке, а на собственной обвязке поверх
uWebSockets.js, что даёт более серьёзный уровень контроля над производительностью, роутингом и WebSocket-коммуникацией. - Один из ключевых технических контуров проекта заключался в том, что торговые расчёты и исполнение были вынесены в отдельную среду, заменяющую прямые обращения к внешней бирже.
- С моей стороны был проработан backend-слой запросов, маршрутизации, интеграции и обмена данными между платформой и этим расчётным торговым контуром.
- Сам низкоуровневый торговый движок был реализован отдельно на
C++, а моя зона ответственности лежала в интеграции этой среды с веб-платформой и прикладной бизнес-логикой. - Для фоновых задач использованы
BullиBullMQсRedis. - Реализован набор cron/worker-процессов для обновления курсов и валют, обработки pending orders, обработки pending deposits и withdrawals, расчёта wallet PnL, очистки старых PnL-записей, а также обработки staking, forex, ICO, investment, AI investment и mail campaigns.
- В модели доступа совмещены роли, permissions и отдельные разрешения для API-ключей.
- Backend-контур поддерживает как пользовательские запросы, так и интеграционные вызовы с отдельной картой разрешений на операции торговли, futures, пополнения, вывода и переводов.
- Используется Redis для сессий, токенов, rate limiting и кэширующих сценариев.
- По более раннему слою базы также подтверждаются таблицы очередей, OAuth/personal access tokens, activity logs и WebSocket statistics, что усиливает эксплуатационный и интеграционный контур проекта.
- На ORM-уровне предусмотрена большая расширяемая модель данных с десятками сущностей и связей.
- В административной панели реализован полноценный управленческий слой, а не только технические формы: управление пользователями, ролями и разрешениями, управление KYC, управление контентом, управление рынками и валютами, управление кошельками и транзакциями, управление ордерами по разным типам торгового контура, управление ICO, staking, forex, P2P, affiliate, ecosystem и mailwizard, а также системные функции вроде cron-monitoring, backup, migration, restore, logs, updates и extension management.
Что подтверждается по модели данных
- В базе явно присутствуют пользователи, кошельки, адреса кошельков, swap-история, депозиты, выводы, транзакции и уведомления.
- Есть роли пользователей, 2FA-поля, настройки push/email notifications и история кошельков.
- Отдельно подтверждаются activity logs, OAuth access tokens, personal access tokens, jobs, websocket statistics, affiliation-контур, membership-контур и таблицы для заранее рассчитанных торговых графиков по таймфреймам.
- В кодовой модели дополнительно присутствуют exchangeOrder, futuresMarket, p2pTrade, p2pOffer, p2pEscrow, stakingPool, stakingLog, investment, forexSignal, forexAccount, icoProject, ecosystemPrivateLedger, ecosystemCustodialWallet, apiKey, supportTicket, permission, rolePermission и многие другие сущности.
- Это показывает, что платформа была рассчитана не на один сценарий обмена, а на большую экосистему финансовых и сервисных модулей.
Что показывает проект
- Умение работать с большим продуктом, где есть одновременно frontend, backend, realtime, безопасность, очереди, финансовая логика и сложная доменная модель.
- Опыт проектирования и развития крупной модульной платформы, а не только отдельных экранов.
- Умение строить и поддерживать финансовый backend с ордерами, кошельками, транзакциями, API-ключами и ограничениями доступа.
- Опыт интеграции веб-платформы с отдельной вычислительной торговой средой, а не только с публичным API внешней биржи.
- Опыт построения административной панели с очень широкой зоной ответственности.
- Опыт работы с WebSocket, background jobs, Redis, ORM, токенами, KYC и permission-системой.
- Опыт сборки продукта, где торговля, кошельки, контент, CRM и системное администрирование находятся в одной архитектуре.
Технологии
- TypeScript
- Node.js
- Next.js
- React
- Redux
- uWebSockets.js
- WebSocket
- Redis
- Bull
- BullMQ
- Sequelize
- MySQL
- Tailwind CSS
- Pusher / realtime-обновления
- ORM-модели и собственный API-слой
Моя роль
Моя роль в этом проекте была связана с глубокой разработкой и кастомизацией самой платформы: серверной архитектуры, пользовательского и административного контуров, торговой и финансовой логики, ролей и разрешений, realtime-сценариев, фоновых задач, кошельков, транзакций, KYC, API-ключей, расширяемых модулей и инструментов сопровождения. Отдельно с моей стороны был полностью проработан backend-слой запросов и интеграции с внешней расчётной торговой средой, которая заменяла прямую работу с binance.com. Сам торговый движок в этой среде разрабатывался отдельным специалистом на C++, а моя ответственность лежала в серверной связке, обмене данными и прикладной логике со стороны платформы. Это тот тип проекта, где ценность была не в одной функции, а в способности держать в голове и развивать целую большую систему.
Практическая ценность проекта
Этот кейс показывает сразу несколько сильных сторон:
- работа с большой и насыщенной доменной областью;
- развитие платформы, а не одной фичи;
- сочетание backend, frontend, realtime и фоновой обработки;
- умение строить permission-based и role-based систему доступа;
- опыт с финансовыми модулями, транзакциями, кошельками и торговыми сценариями;
- интеграция веб-платформы с отдельной торговой средой и проработка backend-слоя запросов вместо прямой зависимости от публичного API биржи;
- опыт проектирования крупной админки с большим числом управляемых подсистем;
- умение удерживать архитектуру сложного продукта и развивать её дальше.