Skip to content

Repository files navigation

LeaveFlow

A modern leave management system for employees and admins to manage leave requests, approvals, and balances.

Screenshots

Home page

LeaveFlow home page

User Dashboard

LeaveFlow user dashboard

Admin Dashboard

LeaveFlow admin dashboard

Features

  • 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

Tech Stack

  • Next.js, React, TypeScript
  • Tailwind CSS, Headless UI, Heroicons, Lucide React
  • NextAuth, MongoDB, Redux Toolkit

Architecture

Simplified client‑server: Next.js frontend, NextAuth for auth, Redux Toolkit state, MongoDB backend via API routes.

Assumptions

  • Users have a MongoDB instance.
  • Environment variables are correctly set.
  • Admin role exists.

Run Locally

npm install

Create .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_secret

Seed admin user:

npm run seed:admin

Start the app:

npm run dev

Open http://localhost:3000.

Admin login:

Email: admin@leaveflow.local
Password: password

Author

Ravi Shyam Singh
LinkedIn | GitHub

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages