Wszystkie projekty

~/tgolab/projekty $ cat rejestracja-i-logowanie.md

Rejestracja i logowanie

Landingi

Ujednolicone wejście do platformy: rejestracja, logowanie, weryfikacja e-maila, odzyskiwanie hasła i 2FA w jednym spójnym przepływie zamiast kilku rozproszonych wariantów.

Klucz obok kroków: rejestracja, weryfikacja e-maila, 2FA i gotowe konto
Ekran rejestracji w trybie jasnym i ciemnym
Weryfikacja adresu e-mail kodem w trybie jasnym i ciemnym
Ekran logowania w trybie jasnym i ciemnym
Logowanie dwuskładnikowe w trybie jasnym i ciemnym
1 / 5

Problem

Wejście do platformy było rozbite na kilka wariantów rejestracji i luźno powiązane ekrany logowania, weryfikacji i odzyskiwania dostępu. Taki obszar trudno było utrzymywać i rozwijać, a użytkownik w każdym miejscu trafiał na trochę inne zachowanie.

Moja rola

Implementacja całego frontendu nowego przepływu na podstawie projektu, łącznie z jego architekturą.

Co zbudowałem

  • Ekrany rejestracji, logowania, resetu i zmiany hasła, weryfikacji e-maila, 2FA i odzyskiwania konta kluczem.
  • Logowanie i rejestracja przez Google i Microsoft.
  • Wspólne komponenty formularzy z jedną logiką walidacji, komunikatami błędów i stanami: ładowanie, zablokowany, sukces, błąd.
  • Weryfikacja e-maila kodem, z możliwością ponownego wysłania.
  • Krok płatności przy rozpoczęciu triala.
  • Układy jedno- i dwukolumnowe, responsywność oraz tryb jasny i ciemny.

Wyzwania

01 · Walidacja

Wiele formularzy z różnymi regułami, a zachowanie ma być wszędzie takie samo. Reguły opisane w Zod i podpięte przez React Hook Form dały jeden sposób walidacji i komunikowania błędów. Wymagania, np. co do hasła, użytkownik widzi przed wysłaniem formularza, a nie dopiero po błędzie.

02 · Krytyczne miejsce bez marginesu na błąd

Przez rejestrację i logowanie przechodzi każdy użytkownik, więc każdy błąd oznacza utraconego klienta albo zablokowany dostęp do konta. Stany i przypadki brzegowe pokryłem testami w Vitest i uzgodniłem z QA przed wdrożeniem.

Efekt

  • Jeden spójny przepływ wejścia do platformy zamiast kilku wariantów.
  • Prostszy w utrzymaniu i rozwijaniu kod ekranów uwierzytelniania.
  • Przepływ przygotowany pod przyszłe zmiany w onboardingu, cenniku i zakładaniu konta.