Muhammad Arslan
Нанять меня
Назад к проектам

Payment Gateway

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

Роль: Solo front-end developmentСроки: 2024Тип: Front-end build (UI recreation)

React 18

Vite

React Router 6

SCSS

Swiper

Воссоздание UI лендинга платежного шлюза PHQ-Pay

Обзор

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

Проблема

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

Моя роль и подход

Я полностью самостоятельно разработал весь фронтенд, от маркетинговых страниц до панели управления. Главным архитектурным решением было рассматривать приложение как два самостоятельных продукта под одной крышей: публичную витрину и закрытую панель управления, предоставив каждому собственную оболочку макета (layout shell) при повторном использовании базовых компонентов. Я изолировал стили по экранам, чтобы каждая страница точно соответствовала референсу без конфликтов CSS, а сквозные элементы, такие как переключение тем и боковое меню дашборда, вынес в контекст React для единообразия во всем приложении.

Стек технологий

ФреймворкReact 18 with Vite
МаршрутизацияReact Router 6, using nested routes and layout routes
СтилизацияSCSS, with a dedicated stylesheet per screen (landing, pricing, tariffs, processing, login, dashboard)
Состояние / темизацияReact context for light/dark theme and sidebar state
UISwiper for carousels, react-international-phone for phone entry, react-indiana-drag-scroll for draggable rows

Ключевые особенности

Полноценный маркетинговый сайтлендинг, цены, тарифы, инструменты процессинга, раздел блога, а также блоки поддерживаемых монет и компаний, которые объясняют и продают сервис.
Процесс аутентификацииэкраны входа и регистрации, включая поле ввода международного номера телефона.
Панель управления мерчантаотдельная закрытая оболочка со своей навигацией в боковом меню, процессом создания мерчанта и соответствующими пустыми состояниями (например, «Транзакций пока нет»).
Два раздельных макетапубличный корневой макет и макет панели управления, связанные через вложенную маршрутизацию с резервной страницей 404.
Светлая и темная темыпоследовательно применяется ко всем разделам через контекст темы.
Адаптивный интерактивный интерфейскарусели, контент с прокруткой перетаскиванием и сквозная адаптивность под мобильные устройства.

Галерея

Воссоздание платежной панели в стиле Cryptomus с выбором монет и примерами списаний

Сложности и решения

Основная сложность заключалась в обеспечении согласованности при таком масштабе. Продукт охватывает маркетинговый сайт и рабочую панель управления — фактически два разных приложения с различным интерфейсным обрамлением. Я решил эту задачу с помощью раздельных оболочек макета, одной для публичного сайта и одной для аутентифицированной панели управления, скомпонованных через вложенную маршрутизацию React Router, поэтому каждая часть получает нужный хедер, футер и навигацию, продолжая использовать общие компоненты.

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

Результат

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

Столкнулись с похожей продуктовой задачей?

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

Услуги разработки веб-приложений
Заполнить бриф проекта
Все проектыСледующий проектPDF Toolkit
UI криптоплатежного шлюза: воссоздание фронтенда Cryptomus на React | Muhammad Arslan