Zakres projektu
Budowa platformy e-learningowej od podstaw, obejmująca system autoryzacji, katalog kursów, profil użytkownika oraz stronę informacyjną z cennikiem i formularzem kontaktowym. Realizacja objęła projekt bazy danych, logikę serwerową oraz wdrożenie interfejsu użytkownika.
Wyzwania techniczne
Zaprojektowanie relacyjnego schematu bazy danych dla zagnieżdżonych struktur (kursy → sekcje → lekcje) oraz mapowanie płaskich wyników zapytań SQL do wielopoziomowych obiektów. Implementacja kompletnego systemu autoryzacji od zera - od rejestracji i logowania, po obsługę chronionych ścieżek i bezpieczne zarządzanie sesją użytkownika.
Architektura i rozwiązania
Rozdzielenie logiki na część serwerową (odpowiedzialną za dane i bezpieczeństwo) oraz kliencką (odpowiedzialną za interakcje i formularze). Wdrożenie optymistycznych aktualizacji interfejsu z opóźnionym wysyłaniem zapytań (debounce) dla systemu polubień, co zapewnia płynne działanie strony bez czekania na odpowiedź serwera. Wykorzystanie wspólnych schematów do sprawdzania poprawności danych jednocześnie po stronie klienta i serwera.
Kluczowe decyzje
- Wybór architektury renderującej strony po stronie serwera, co skraca czas ładowania i eliminuje potrzebę osobnej warstwy pobierania danych.
- Wdrożenie bezstanowego systemu zarządzania sesjami użytkowników.
- Zastosowanie bazy danych zoptymalizowanej pod kątem środowisk chmurowych.
- Spójna walidacja wszystkich danych przesyłanych w systemie.
Rezultat końcowy
Dostarczenie kompletnej, produkcyjnej aplikacji full-stack: 10 tabel bazy danych, 8 endpointów API oraz ponad 35 komponentów React. Projekt obejmuje pełny system autoryzacji i został zrealizowany samodzielnie, z zachowaniem 100% zgodności z projektem UI z Figmy.
Pełna realizacja full-stack
Zakres prac: Od architektury bazy danych po wdrożenie responsywnego interfejsu.
Backend
10 tabel relacyjnych, 8 endpointów API i autoryzacja z bezpiecznym hashowaniem danych.
Frontend
Ponad 35 komponentów React w standardzie mobile-first, z zachowaniem 100% wierności projektowi UI.
Galeria projektu