A full-stack web application to manage employees, tasks, and shifts with secure authentication, role-based access control, and smooth UI animations.
You can try the Employee Management System using the following demo credentials:
- Email: admin@gmail.com
- Password: 123456789
As an admin, you can create employee accounts, assign and schedule tasks, track task and shift histories, and manage employee shifts.
- Email: kaif@gmail.com
- Password: 123456789
As an employee, you can log in to view your assigned tasks, update task statuses, start and end shifts with work summaries, and view your shift history.
Feel free to explore both roles and see how the system works!
- ✨ Smooth animations using Framer Motion
- 🔐 JWT-based authentication & role-based access control
- 📅 Shift scheduling & calendar view
- 📊 Task assignment, status updates, and tracking
- 🗄️ Admin & Employee dashboards
- 📈 Reports & employee analytics (WIP)
- 📱 Fully responsive UI with Tailwind CSS
- Next.js
- React
- Tailwind CSS
- Framer Motion
- Axios
- Node.js
- Express.js
- MongoDB + Mongoose
- JWT for auth
- bcryptjs for password hashing
- node-cron for scheduled tasks
employee-management-sys/
├── employee-management-backend/
│ ├── controllers/
│ ├── models/
│ ├── routes/
│ ├── middleware/
│ ├── utils/
│ └── server.js
├── employee-management-frontend/
│ ├── components/
│ ├── pages/
│ ├── public/
│ ├── styles/
│ ├── lib/
│ └── next.config.js
└── README.md
- Node.js v14+
- MongoDB
cd employee-management-backend
npm install
Create .env
:
PORT=5000
MONGO_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
Start server:
npm start
cd employee-management-frontend
npm install
Create .env.local
:
NEXT_PUBLIC_API_URL=http://localhost:5000/api
Start frontend:
npm run dev
- POST
/api/auth/register
- POST
/api/auth/login
- GET/POST
/api/employees
- PUT/DELETE
/api/employees/:id
- GET/POST
/api/tasks
- PUT/DELETE
/api/tasks/:id
- GET/POST
/api/shifts
- PUT/DELETE
/api/shifts/:id
- JWT-based stateless authentication
- Middleware guards for Admin and Employee access
- Daily task summaries (node-cron)
- Auto-shift archiving (planned)
Add some key UI screens here with role views (Admin/Employee)
git clone https://github.com/Dev-kaif/Employee-Management-Sys.git
cd repo && npm install
- Create a branch:
git checkout -b feature/new-feature
- Commit changes:
git commit -m "Added new feature"
- Push branch:
git push origin feature/new-feature
- Create Pull Request
This project is MIT Licensed
Created by @Dev-kaif — feel free to reach out!
Inspired by real-world HR use-cases, built with modern React + Node stack.