A full-featured employee management backend built with NestJS. This system provides robust APIs for managing employees, attendance, leave requests, notices, projects, timesheets, and user authentication/authorization.
- User Management: Register, update, and manage users with roles.
- Authentication & Authorization: Secure JWT-based login, role-based access control.
- Leave Management: Request, approve, and track employee leaves (with types and statuses).
- Notice Board: Post and manage company-wide notices.
- Project Management: Create projects, assign employees, track project status and duration.
- Timesheets: Log daily work hours and descriptions for employees.
- API Documentation: Auto-generated, always up-to-date API docs (api-docs.md).
- Node.js (v16+ recommended)
- npm
npm install# Development
npm run start
# Watch mode
npm run start:dev
# Production
npm run start:prodCreate a .env file in the root with your configuration (DB connection, JWT secret, etc).
- The full API documentation is available in api-docs.md, generated automatically from the OpenAPI spec using Widdershins.
- You can also view interactive Swagger UI at
/apiwhen the server is running.
src/
├── attendance/ # Attendance tracking
├── auth/ # Authentication & authorization
├── leave/ # Leave management
├── notice/ # Notice board
├── projects/ # Project management
├── timesheets/ # Timesheet logging
├── users/ # User management
└── utility/ # Shared utilities, decorators, guards
Contributions are welcome! Please open issues or submit pull requests for improvements and bug fixes.
This project is MIT licensed.