Zadanie: Integracja frontendu i backendu dla systemu płatności z ulepszeniem funkcjonalności
🔧 Główne kierunki prac:
Rejestracja i autoryzacja
Sprawdzić poprawność przesyłanych danych z frontendu (walidacja email, hasła)
Skonfigurować haszowanie haseł i generowanie tokenów
Zaimplementować zapisywanie sesji/tokenów w przeglądarce
🖇️ Integracja z systemem płatności
Skonfigurować endpoint do generowania linków płatniczych (Socket.IO Client)
Zaimplementować obsługę przekierowań po pomyślnym opłaceniu
Dodać webhooki do potwierdzania płatności
🗃️ Optymalizacja struktury bazy danych
Przeprowadzić audyt istniejących tabel (Users, Payments, Products)
Wdrożyć unikalne ograniczenia zapobiegające duplikatom
🎁 System wydawania towarów
📊 Panel zarządzania użytkownika
🔄 Proces współpracy:
Użytkownik inicjuje płatność przez UI
Frontend → Backend: żądanie utworzenia płatności
Backend generuje unikalny link i zapisuje go w bazie danych
Użytkownik kończy płatność przez bramkę płatniczą
System płatności → Backend: potwierdzenie pomyślnej transakcji
Backend aktywuje produkt i aktualizuje status w bazie
Frontend otrzymuje zaktualizowane dane przez WebSocket/polling
🚀 Kluczowe punkty kontroli:
Sprawdzenie integralności danych między frontendem a backendem
Testowanie przypadków brzegowych (powtarzające się płatności, anulowanie transakcji)
Testy obciążeniowe krytycznych endpointów
Walidacja schematu bazy danych przez migracje
Audyt bezpieczeństwa operacji płatniczych
Obecnie występują problemy z rejestracją użytkowników, niejasności z polami w bazie danych (są duplikaty, nie wszystko zapisuje się poprawnie), a także nie jest skonfigurowane automatyczne wydawanie towaru po płatności. Logika serwera jest miejscami zagmatwana, konieczne będzie jej uporządkowanie i doprowadzenie do stanu roboczego. Najważniejsze — zapewnić szybkość działania i stabilne wydawanie towaru po zakupie.
Frontend (katalog src):
- React 18
- TypeScript
- Vite (deployment tylko jako statyczny plik)
- Tailwind CSS
- MUI (Material UI)
- Radix UI (komponenty UI)
- React Router
- Socket.IO Client
- i18next (lokalizacja)
- Framer Motion (animacje)
Backend (katalog server):
- Python (Flask)
- PostgreSQL
- Celery + Redis (zadania asynchroniczne)
- Gunicorn (serwer)
- Socket.IO (wydarzenia w czasie rzeczywistym)
- JWT (uwierzytelnianie)
- WebRTC (do rozmów głosowych przez przeglądarkę)
- WebSocket API (do integracji serwerowych i zewnętrznych)
- Integracja z OpenAI API (gpt-4o-MINI-realtime-preview)
- DodoPayments (płatności)
- Migracje (migrations), modele (models), logika biznesowa (services), trasy (routes), middleware (middleware)