A modern, production-ready Next.js boilerplate with comprehensive authentication, admin dashboard, and user management features. Built by Zexa for rapid application development.
- Email & Password Authentication with email verification
- Session Management with secure token handling
- Account Linking support
- Role-based Access Control (Admin, User roles)
- User Registration & Login with form validation
- Email Verification system
- Profile Management
- User Banning/Unbanning with expiration dates
- Session Revocation for security
- User Management Interface - View, edit, ban/unban users
- Role Assignment - Manage user permissions
- User Actions - Delete users, revoke sessions
- Responsive Admin UI with modern design
- Modern Design System with Tailwind CSS
- Responsive Layout for all devices
- Component Library with Radix UI primitives
- Form Validation with React Hook Form + Zod
- Toast Notifications for user feedback
- Framework: Next.js 16 with App Router
- Authentication: Better Auth
- Database: PostgreSQL with Drizzle ORM
- Styling: Tailwind CSS
- UI Components: Radix UI
- Form Handling: React Hook Form
- Validation: Zod
- Email: Resend
- TypeScript: Full type safety
- Node.js 18+
- PostgreSQL database
- Resend account (for email functionality)
-
Clone the repository
git clone <repository-url> cd zexa-auth-starter
-
Install dependencies
pnpm install
-
Environment Setup
Copy the
.env.examplefile to.env.localand fill in the values.cp .env.example .env.local
-
Database Setup
# Generate and run migrations pnpm db:generate pnpm db:migrate -
Start Development Server
pnpm dev
Visit http://localhost:3000 to see your application!
src/
βββ app/ # Next.js App Router
β βββ admin/ # Admin dashboard pages
β βββ api/ # API routes
β βββ auth/ # Authentication pages
β βββ dashboard/ # User dashboard
βββ components/ # React components
β βββ admin/ # Admin-specific components
β βββ auth/ # Authentication forms
β βββ landing/ # Landing page components
β βββ ui/ # Reusable UI components
βββ db/ # Database configuration
βββ lib/ # Utility libraries
βββ utils/ # Helper functions
pnpm dev- Start development server with Turbopackpnpm build- Build for productionpnpm start- Start production serverpnpm lint- Run ESLintpnpm db:generate- Generate database migrationspnpm db:migrate- Run database migrationspnpm db:push- Push database migrations to the databasepnpm db:studio- Open the Drizzle ORM Studio
- Registration: Users sign up with email/password
- Email Verification: Automated email verification process
- Login: Secure session-based authentication
- User Management: Full CRUD operations on user accounts
- Role Management: Assign and modify user roles
- Security Actions: Ban users, revoke sessions, delete accounts
- Audit Trail: Track user actions and changes
- Push your code to GitHub
- Connect your repository to Vercel
- Add environment variables in Vercel dashboard
- Deploy!
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions:
- Create an issue in this repository
- Contact Zexa team
Built with β€οΈ by Zexa
Ready to build something amazing? Get started with Zexa Auth Starter today!