A comprehensive authentication system built with React and TypeScript, providing multiple authentication methods in a responsive and user-friendly interface.
- Email verification with 6-digit PIN
- Anonymous access with 16-digit code
- Google OAuth authentication (mock implementation)
- Smart input detection (email vs. access code)
- Form validation with informative error messages
- Responsive design (mobile-friendly from 320px)
- Toast notifications for operation feedback
- PIN code timeout (60-second countdown for resending)
- Protected routes
- Persisted authentication using
localStorage
- Comprehensive TypeScript typing
- API mocking for development
- CI/CD pipeline with GitLab
- Code quality tools and testing
- Frontend: React 19, TypeScript, React Router 7
- Styling: Tailwind CSS 4
- Build Tool: Vite 6
- Testing: Vitest, Playwright
- API Mocking: MSW (Mock Service Worker)
- Code Quality: Biome
The application provides the following authentication flows:
- Enter your email on the login page.
- Receive a 6-digit PIN code.
- Enter the PIN to authenticate.
- Generate a 16-digit access code.
- Save or copy this code for future logins.
- Use the code to log in later.
- Click "Continue with Google."
- Follow the authentication flow.