Opracowanie frontendu aplikacji SaaS w technologii React
1. Cel projektu
Celem jest wdrożenie warstwy frontend aplikacji webowej SaaS w oparciu o React.js, zgodnie z opracowanymi makietami UX i integracją z istniejącym backendem.
⸻
2. Zakres funkcjonalny
1. Interfejs użytkownika – dashboard, moduły analityczne, sekcja dokumentów, sekcja raportowa, panel administracyjny, system subskrypcji i płatności, landing page.
2. Integracja z backendem – obsługa autoryzacji, komunikacja API, wymiana danych.
3. Obsługa błędów i stanów – brak internetu, brak odpowiedzi serwera, błędy uploadu, problemy płatności.
4. Wydajność – czas ładowania ≤3s, obsługa plików do kilkudziesięciu MB, płynne wykresy, lazy loading.
5. Dane użytkownika – cache w przeglądarce, synchronizacja między urządzeniami, tryb offline.
6. Bezpieczeństwo – JWT/OAuth2, komunikacja po HTTPS, OWASP, brak niezaszyfrowanych danych lokalnych.
7. Landing page – spójny z aplikacją, sekcje informacyjne, formularz kontaktowy, SEO, analityka.
⸻
3. Wymagania technologiczne
• Framework: React.js (preferowany Next.js).
• Język: TypeScript.
• Stylizacja: TailwindCSS / Material UI / SCSS.
• Zarządzanie stanem: Redux Toolkit / React Query.
• Testy: jednostkowe (Jest), e2e (Cypress/Playwright).
• Standardy kodu: ESLint + Prettier (konfiguracja airbnb).
• Repozytorium: Git (prywatne).
⸻
4. Kamienie milowe
• Etap 1: Nawigacja, logowanie/rejestracja, role.
• Etap 2: Dashboard i wizualizacja danych.
• Etap 3: Obsługa dokumentów i integracja z backendem.
• Etap 4: Moduł płatności i landing page.
• Etap 5: Testy, optymalizacja, wdrożenie.
⸻
5. Procedury akceptacji
• Demo po każdym etapie,
• Testy na środowisku staging,
• Akceptacja po potwierdzeniu zgodności z makietami, działaniem API i standardami jakości.
⸻
6. Dokumentacja i wsparcie
• Dokumentacja kodu i instalacyjna,
• Instrukcja użytkownika,
• 3 miesiące wsparcia powdrożeniowego (poprawki krytyczne ≤48h),
• Aktualizacja dependency w okresie wsparcia.
Pozostałe:
- implementacja we współpracy w backend dev.
- szczegóły po NDA
- wyłącznie React