A modern leave management system for employees and admins to manage leave requests, approvals, and balances.
- Employee login, leave apply, request tracking, and leave balance view
- Admin dashboard to view, approve, and reject leave requests
- Role-based access for employees and admins
- Clean responsive UI with dark mode support
- Next.js, React, TypeScript
- Tailwind CSS, Headless UI, Heroicons, Lucide React
- NextAuth, MongoDB, Redux Toolkit
Simplified client‑server: Next.js frontend, NextAuth for auth, Redux Toolkit state, MongoDB backend via API routes.
- Users have a MongoDB instance.
- Environment variables are correctly set.
- Admin role exists.
npm installCreate .env.local:
MONGO_URI=your_mongodb_connection_string
NEXTAUTH_SECRET=your_nextauth_secret
NEXTAUTH_URL=http://localhost:3000
GOOGLE_CLIENT_ID=optional_google_client_id
GOOGLE_CLIENT_SECRET=optional_google_client_secretSeed admin user:
npm run seed:adminStart the app:
npm run devOpen http://localhost:3000.
Admin login:
Email: admin@leaveflow.local
Password: password


