Задача: Інтеграція фронтенду і бекенду для платіжної системи з доопрацюванням функціоналу
🔧 Основні напрямки робіт:
Реєстрація та авторизація
Перевірити коректність переданих даних з фронтенду (валідація 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)