✨ Streamline employee leave management, approvals, and analytics with ELMS!
- Clone the repository
git clone https://github.com/Busted-pinch/Leave_Management_System.git
cd Leave_Management_System- Install dependencies
pip install -r requirements.txt- Configure Environment Variables
Create a
.envfile and add your configuration:
MONGO_URI=<your_mongodb_connection_string>
SECRET_KEY=<your_jwt_secret_key>
- Run the Application
python main.pyAccess the system at: http://localhost:8000 🌐
- Sign up / login 👨💼
- Apply for leave 🏖️ (single/multiple days)
- View leave history 📜
- Check remaining leave balance 📋
- Receive approval/rejection notifications ✅❌
- Sign up / login 👩💼
- View all pending leave requests 🕒
- Approve or reject leaves ✅❌
- See department-wise leave reports 📊
- Monitor employee attendance and leave patterns
- Monitor overall leave balance of all employees 📋
- Generate analytics and reports for management 📈
- Fix leave entries for frontend compatibility 🛠️
- Python / FastAPI 🐍
- JWT authentication 🔐
- Role-based access control (Employee / Manager / HR)
- MongoDB database 🍃 for flexible storage
- Data validation via Pydantic models ✅
- HTML, CSS, JavaScript for responsive UI ⚛️
- Dynamic dashboards for Managers & Employees
- Real-time leave request updates
| Layer | Technology |
|---|---|
| Backend | Python, FastAPI |
| Database | MongoDB |
| Frontend | HTML, CSS, JavaScript / React |
| Authentication | JWT |
| Deployment | Local / Optional cloud hosting |
- Complete Employee & Manager signup/login flow
- Leave apply, approve, reject functionalities implemented
- Fixed data compatibility issues for frontend (e.g., date formats, leave IDs)
- Role-based dashboard views (Manager / Employee)
- Integrated JWT authentication for secure API access
- Added RESTful APIs for CRUD operations on leaves and users
- Setup CORS and environment configuration
- Implemented leave reporting and analytics endpoints
We welcome contributions!
- Fork the repository 🍴
- Create a new branch:
git checkout -b feature-name- Make your changes and commit:
git commit -m "Add feature"- Push to your branch:
git push origin feature-name- Create a Pull Request 🔃
This project is licensed under the MIT License.
- Backend Dev: Prathamesh Mete
- GitHub: Busted-pinch
- Email: metepratham04@gmail.com