A simple authentication system with login, registration, and password reset. Built to learn full-stack development with Next.js and Supabase.
I wanted to practice building a complete auth flow from scratch β user registration, email verification, login sessions, and password reset.
- Next.js 15 β React framework with App Router
- TypeScript β For type safety
- Tailwind CSS + shadcn/ui β Styling and components
- Supabase β Database and authentication backend
- React Hook Form + Zod β Form handling and validation
- Registration β User signs up, Supabase sends verification email
- Email verification β User clicks link, account gets activated
- Login β User logs in, session is created
- Protected routes β Middleware blocks unauthorized access to dashboard
- Password reset β User requests reset, gets email with secure link
All user data and sessions are stored in Supabase. Passwords are automatically hashed and secure.
- β User registration with email verification
- β Login with session management
- β Password reset via email
- β Protected dashboard (requires login)
- β Custom dark-themed email templates
- π Middleware protection on routes
git clone https://github.com/szymszaj/login-admin-panel.git
cd login-admin-panel
npm install
NEXT_PUBLIC_SUPABASE_URL=your-url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-key
npm run dev