Здравствуйте!
Техническое задание (ТЗ) на разработку платформы для интеграции с Coinbase API (посредническая платформа)
Общие сведения
Создать платформу для предоставления пользователям услуг торговли и хранения криптовалют через API Coinbase. Платформа будет выступать посредником, предоставляя интерфейс для работы с Coinbase без необходимости прямого взаимодействия пользователей с самим Coinbase.
Цели и задачи
1. Интеграция с API Coinbase для:
• Торговли криптовалютами (покупка/продажа).
• Хранения активов (депозиты и вывод).
• Получения рыночных данных (цены, объемы, ордера).
2. Реализация пользовательского интерфейса для работы с платформой:
• Регистрация и авторизация пользователей.
• Управление портфелем: балансы, история операций.
• Размещение ордеров и отслеживание их статуса.
3. Обеспечение безопасности данных и взаимодействия.
4. Внедрение базовых процедур KYC/AML (Know Your Customer / Anti-Money Laundering).
Основные функции
1. Пользовательский интерфейс
1. Регистрация и авторизация:
• Возможность регистрации с подтверждением через email.
• Авторизация с использованием двухфакторной аутентификации (2FA).
2. Дашборд пользователя:
• Просмотр текущего баланса (по всем поддерживаемым криптовалютам).
• История операций (депозиты, вывод, ордера).
• Информация о открытых ордерах.
3. Торговый интерфейс:
• Выбор торговой пары (например, BTC/USD).
• Размещение ордеров (лимитные, рыночные).
• Просмотр рыночных данных (графики, книга ордеров).
4. Депозиты и вывод:
• Генерация адресов для депозита криптовалют.
• Возможность вывода средств на внешние кошельки.
2. Интеграция с Coinbase API
1. Авторизация в API:
• Использование OAuth2 для взаимодействия с API Coinbase.
• Хранение токенов доступа пользователей.
2. Работа с кошельками:
• Получение списка поддерживаемых активов и их балансов.
• Генерация адресов для депозитов.
• Инициация вывода средств.
3. Работа с ордерами:
• Создание рыночных и лимитных ордеров.
• Отслеживание статуса ордеров.
• Отмена активных ордеров.
4. Получение рыночных данных:
• Актуальные цены по торговым парам.
• Информация о ликвидности (глубина книги ордеров).
• Исторические данные для построения графиков.
3. Административная панель
1. Управление пользователями:
• Просмотр списка пользователей.
• Статистика по транзакциям.
• Блокировка/разблокировка учетных записей.
2. Мониторинг операций:
• Логи операций (депозиты, вывод, ордера).
• Инструменты для ручной проверки транзакций.
3. Настройки платформы:
• Установка комиссий за торговлю, ввод/вывод средств.
• Управление поддерживаемыми активами.
Технические требования
1. Интеграция с API Coinbase
• Использовать официальные библиотеки Coinbase для работы с API:
• Coinbase API (основной)
• Coinbase Pro API (торговля)
• Настроить OAuth2 для авторизации пользователей.
2. Технологический стек
• Backend: Python (Django, Flask) или Node.js.
• Frontend: React.js или Vue.js.
• База данных: PostgreSQL или MySQL.
• Хостинг: AWS, Google Cloud или другой облачный провайдер.
• Безопасность API:
• Все запросы через HTTPS.
• Хранение ключей и токенов в защищенных хранилищах (например, AWS Secrets Manager).
3. Безопасность
• Двухфакторная аутентификация (2FA).
• Шифрование данных пользователей.
• Регулярные логи и мониторинг транзакций для предотвращения мошенничества.
4. KYC/AML
• Интеграция с провайдерами для верификации пользователей (например, Jumio, Onfido).
• Сбор базовых данных: паспорт, адрес, верификация личности.
Этапы разработки
1. Планирование (1–2 недели)
• Определение функционала.
• Разработка архитектуры платформы.
2. Backend-разработка (4–6 недель)
• Реализация интеграции с Coinbase API.
• Настройка базы данных.
• Реализация бизнес-логики (депозиты, вывод, ордера).
3. Frontend-разработка (3–5 недель)
• Создание пользовательского интерфейса.
• Интеграция с backend через REST API.
4. Тестирование (2–3 недели)
• Проверка работы API на тестовом окружении Coinbase.
• Тестирование безопасности и производительности.
5. Запуск и поддержка (1 неделя + ongoing)
• Развертывание на сервере.
• Мониторинг и исправление ошибок.
Документы для предоставления
1. Код с комментариями.
2. API-документация для внутреннего использования.
3. Техническая документация по развертыванию платформы.
4. Рекомендации по безопасности и обновлениям.
Требования к разработчикам
• Опыт работы с REST API (желательно Coinbase).
• Знание OAuth2 и работы с токенами.
• Опыт разработки безопасных финансовых приложений.
• Навыки работы с выбранным технологическим стеком.
Результат
Платформа, готовая к эксплуатации, которая предоставляет пользователям интерфейс для торговли и управления активами через интеграцию с Coinbase API, с учетом всех требований безопасности и удобства использования.