Клиентский интерфейс
- Регистрация/авторизация, верификация электронной почты
- Профиль, смена пароля
- Аутентификация
KYC — подтверждение личности с помощью загрузки документов. KYC используется для расширения прав доступа, например, без KYC нельзя выполнять определённые действия, такие как вывод средств
Google Authenticator (Two-Factor Authentication) — дополнительная безопасность работы обеспечивается механизмом двухфакторной авторизации с использованием мобильного приложения
SMS TFA (SMS Two-Factor Authentication) — подтверждение номера телефона с помощью OTP
- Уведомления пользователям по различным каналам, таким как SMS и email. Журналирование денежных операций пользователя, статистика по регистрациям пользователей, трэйдингу на бирже и валютным операциям пользователей.
- Форма заявления для ввода fiat-валюты в систему и вывода fiat-валюты из системы на собственные счета - интерфейс для возможности оставлять заявки на ввод, вывод средств со стороны пользователя, и подтверждение выполнения этих заявок на стороне администратора, с последующей ручной обработкой.
- Ввод различных криптовалют в систему (депозит), вывод криптовалюты из системы на личные кошельки. (Управление пополнением и выводом средств BTC происходит с помощью сервиса BitGo, который представляет собой cloud-based кошелек. По сути - это онлайн-клиент BTC-кошелька).
- Wallets. Текущий список доступных кошельков:
BTC кошелек
USD кошелек
KZT кошелек
- Exchange. Покупка и продажа введённой в систему валюты. Текущий список доступных обменников:
BTC / USD
BTC / KZT
- История депозитов, заказов, сделок, выводов
- Торговый интерфейс - выбор рынков, тикеты, график рынка, активные ордера, список операций, ордера пользователя, форма создания ордеров
- Моментальный расчёт комиссии
- Система матчинга ордеров (Система, осуществляющая сопоставление пары встречных ордеров (покупка - продажа) по запрошенным ценам. Может осуществлять частичное закрытие заявок, а также собирать на один крупный ордер несколько встречных ордеров, а не только 1:1. Подбор осуществляется по общепринятым правилам трейдинга.)
Система администрирования
- Dashboard, который позволяет посмотреть сводную информацию по бирже:
Сводная таблица валют, торгуемых на бирже
Таблица статусов работающих демонов
Таблица с общей статистикой
- Управление пользователями
- Управление администраторами и их правами
- Управление депозитами
- Управление выводом средств
- Верификация пользователей
Обеспечение проекта
- Документация администратора
- Документация пользователя
- Техническая документация - установка, настройка, деплоймент, описание архитектуры проекта
- Автоматизированные тесты
Частичное покрытие разработки автоматизированными тестами
Реализация автоматизированных acceptance-тестов для основных функций биржи
Benchmarking - проверка скорости работы механизма матчинга и определение скоростных показателей работы трейдинга
Стек технологий, использованных при разработке
WebServer
- Nginx
- Unicorn
- Rails Application
BackEnd
- RabbitMQ
- Eye
- BitGod (RPC)
Data Storage
WebSocket Server
Интеграция
- Интеграция с BitGo (Hot wallet) для управления пополнением и выводом средств BTC.
Communication Server
- MandrillApp (email notification)
- Plivo (SMS-notification)
- Mailchimp (email marketing)
Mixpanel (Web Analytics)