Nowoczesna, minimalistyczna aplikacja do zarabiania na typach tenisowych. Biały i czarny design z płynnymi animacjami.
- Rejestracja nowego użytkownika - Email, hasło, imię, nazwisko
- Logowanie - Bezpieczne logowanie z JWT
- Wylogowanie - Czyszczenie sesji i lokalnego storage
- Pobieranie profilu - Dane użytkownika i statystyki
- Aktualizacja profilu - Zmiana danych użytkownika
- Trzy plany subskrypcji - Basic (30 dni), Pro (90 dni), Premium (365 dni)
- Testowe płatności - System płatności testowych (gotowy na Stripe)
- Aktywacja subskrypcji - Automatyczne przyznawanie dostępu
- Historia płatności - Przegląd poprzednich transakcji
- Historia subskrypcji - Śledzenie ważności planów
- Weryfikacja dostępu - Middleware sprawdzający subskrypcję
- Dodawanie typów - Formularz z opisem, graczami, kursami
- Lista typów - Przegląd wszystkich typów użytkownika
- Edycja wyniku typu - Wygrana/Przegrana/Push
- Usuwanie typów - Moderacja typów
- Filtrowanie typów - Po dacie, turniejowi, wyniku
- Liczba wszystkich typów - Całkowita liczba typów
- Liczba wygranych - Typy które wygrały
- Liczba przegranych - Typy które przegrały
- Procent wygranych - Automatycznie wyliczany ROI
- Powiadomienia email - Przy zakupie subskrypcji
- Animacje wchodzenia - FadeIn, SlideIn na elementach
- Responsywny design - Mobile, tablet, desktop
- Dark/Light theme - Przygotowany system kolorów
- Błędy i validacja - Komunikaty błędów dla użytkownika
- Frontend: React 18 + Vite + Framer Motion (animacje)
- Backend: Node.js + Express
- Baza danych: PostgreSQL
- Hosting:
- Frontend: Vercel (darmowy)
- Backend: Railway / Render (darmowy plan)
- Baza: Supabase / Railway PostgreSQL (darmowy)
- Autentykacja: JWT
- Płatności: Testowe (gotowe na Stripe)
cd backend
npm install
cp .env.example .env
# Edytuj .env z twoimi danymi bazy
npm run devcd frontend
npm install
npm run devcreatedb typy_tenisowe
psql typy_tenisowe < backend/schema.sqlcd frontend
npm run build
# Zaloguj się w Vercel CLI i deploy
vercel deploy- Push kodu do GitHub
- Połącz repozytorium w Railway/Render
- Ustaw zmienne środowiskowe
- Auto-deploy
DATABASE_URL=postgresql://user:pass@host:5432/typy_tenisowe
JWT_SECRET=your_secure_secret_key
NODE_ENV=production
PORT=5000
FRONTEND_URL=https://your-domain.com
VITE_API_URL=https://your-api.com/api
- Integracja Stripe - Zamień testowe płatności na rzeczywiste
- Email sending - Dodaj SendGrid lub Mailgun
- SMS notyfikacje - Twilio dla powiadomień
- Live data - Integracja z tennisowymi API (Tennis Explorer)
- Leaderboard - Ranking użytkowników
- Społeczność - Udostępnianie typów
- Mobile app - React Native
POST /api/auth/registerPOST /api/auth/login
GET /api/picks- Lista typów (wymaga subskrypcji)POST /api/picks- Nowy typ (wymaga subskrypcji)PUT /api/picks/:id- Aktualizacja wynikuDELETE /api/picks/:id- Usunięcie typu
POST /api/payments/test-payment- Testowa płatnośćGET /api/payments/history- Historia płatności
GET /api/users/profile- Profil użytkownikaPUT /api/users/profile- Aktualizacja profiluGET /api/users/notifications- Notyfikacje
CORS Error?
- Sprawdź
FRONTEND_URLw.envbackendu
Brak dostępu do typów?
- Sprawdź czy subskrypcja jest aktywna w bazie
- Zerknij na token JWT
Błędy bazy?
- Upewnij się że schema.sql został uruchomiony
- Sprawdź
DATABASE_URL
Aplikacja gotowa do wdrożenia! Powodzenia! 🎾