Задача: Интеграция фронтенда и бэкенда для платежной системы с доработкой функционала
🔧 Основные направления работ:
Регистрация и авторизация
Проверить корректность передаваемых данных с фронтенда (валидация email, пароля)
Настроить хэширование паролей и генерацию токенов
Реализовать сохранение сессий/токенов в браузере
🖇️ Интеграция с платежной системой
Настроить endpoint для генерации платежных ссылок (/api/payments/create)
Реализовать обработку редиректа после успешной оплаты
Добавить вебхуки для подтверждения платежей
🗃️ Оптимизация структуры БД
Провести аудит существующих таблиц (Users, Payments, Products)
Внедрить уникальные ограничения для предотвращения дубликатов
🎁 Система выдачи товаров
📊 Панель управления пользователя
🔄 Рабочий процесс взаимодействия:
Пользователь инициирует оплату через UI
Фронтенд → Бэкенд: Запрос на создание платежа
Бэкенд генерирует уникальную ссылку и запись в БД
Пользователь завершает оплату через платежный шлюз
Платежная система → Бэкенд: Подтверждение успешной транзакции
Бэкенд активирует товар и обновляет статус в БД
Фронтенд получает обновленные данные через WebSocket/поллинг
🚀 Ключевые точки контроля:
Проверка целостности данных между фронтендом и бэкендом
Тестирование edge-кейсов (повторные оплаты, отмена транзакций)
Нагрузочное тестирование критических endpoints
Валидация схемы БД через миграции
Аудит безопасности платежных операций
Сейчас есть проблемы с регистрацией пользователей, неразбериха с полями в базе данных (есть дубли, не все сохраняется корректно), а также не настроена автоматическая выдача товара после оплаты. Серверная логика местами запутанная, потребуется разобраться и привести всё к рабочему состоянию. Главное — обеспечить скорость работы и стабильную выдачу товара после покупки.
Фронтенд (директория src):
- React 18
- TypeScript
- Vite (деплой только как статика)
- Tailwind CSS
- MUI (Material UI)
- Radix UI (UI-компоненты)
- React Router
- Socket.IO Client
- i18next (локализация)
- Framer Motion (анимации)
Бэкенд (директория server):
- Python (Flask)
- PostgreSQL
- Celery + Redis (асинхронные задачи)
- Gunicorn (сервер)
- Socket.IO (реалтайм события)
- JWT (аутентификация)
- WebRTC (для голосового общения через браузер)
- WebSocket API (для серверных и внешних интеграций)
- Интеграция с OpenAI API (gpt-4o-MINI-realtime-preview)
- DodoPayments (платежи)
- Миграции (migrations), модели (models), бизнес-логика (services), маршруты (routes), мидлвари (middleware)