Web Dev Project
Vocablaze - Grywalizacja w nauce języków obcych
Przegląd
Celem platformy Vocablaze było stworzenie serwisu internetowego do nauki języków obcych, w którym użytkownicy mogą tworzyć własne zestawy słówek, śledzić postępy i grać w interaktywne gry.
Zakres prac obejmował projektowanie UI/UX, wdrożenie pełnego stacku technologicznego oraz walidację wpływu grywalizacji na zaangażowanie uczniów.
Problem
Większość aplikacji językowych narzuca sztywne ścieżki lekcyjne. Chcieliśmy dać uczącym się swobodę i kreatywną kontrolę, dbając o dobrą zabawę.
Produkt wymagał również bezpiecznych płatności i solidnej autoryzacji w celu ochrony treści premium.
Stack Technologiczny
Funkcje
Gry językowe: Gry takie jak fiszki, łączenie kafelków i wisielec sprawiają, że codzienna praktyka słownictwa staje się wciągająca.
Panel postępów: Przejrzyste wykresy i panele pomagają użytkownikom śledzić ich naukowe postępy w czasie.
Dostosowywanie motywów: Użytkownicy mogą dostosować interfejs do swoich preferencji za pomocą motywów kolorystycznych.
Dzielenie się materiałami: Nauczyciele i uczniowie mogą łatwo eksportować i udostępniać własne talie słówek innym.
Import słownictwa: Aplikacja obsługuje masowe wgrywanie słówek z plików zewnętrznych.
Subskrypcje premium: Płatności Stripe odblokowują zaawansowane statystyki i dodatkowe tryby rozgrywki.
Proces
Definition
Plan
Design
Develop
Deployment
Finalna Strona
Czego się nauczyłem
Wdrożyłem zaawansowane przepływy logowania z resetowaniem haseł i uwierzytelnianiem dwuskładnikowym (2FA).
Zintegrowałem Stripe od A do Z, od obsługi subskrypcji po nasłuchiwanie zdarzeń webhook.
Rozwinąłem umiejętności backendowe poprzez optymalizację zapytań Prisma i logiki po stronie serwera.
Pogłębiłem znajomość zaawansowanych funkcji Next.js, takich jak Server Actions i rewalidacja danych na żądanie.
Wyzwania
Praca w pojedynkę oznaczała pełną odpowiedzialność za projekt, kodowanie, testowanie oraz wdrażanie całego systemu.
Nauka integracji Stripe od zera wymagała precyzji w celu zagwarantowania bezpieczeństwa transakcji.
Uwierzytelnianie dwuskładnikowe i bezpieczne resetowanie haseł dodały złożoności do warstwy bezpieczeństwa.
Balansowanie między zakresem funkcji a sztywnym terminem wymagało bezkompromisowej priorytetyzacji zadań.

