A modern, scalable Human Resource Management System designed to streamline team coordination, resource allocation, and project management for growing organizations. π
This HRMS provides a complete solution for managing human resources in technology-driven organizations. It handles everything from employee onboarding to project delivery tracking, with real-time resource availability and comprehensive reporting capabilities.
- Smart Resource Management π§ - Automatically tracks employee availability and prevents double-booking
- Project-Centric Workflow π - Links employees, time tracking, and deliverables to specific projects
- Role-Based Access Control π - Granular permissions for users, admins, and super admins
- Real-Time Analytics π - Live dashboards showing utilization rates, bench time, and project status
- Automated Background Tasks π€ - Self-maintaining system that cleans up expired bookings
- Eliminate scheduling conflicts with automated availability tracking β
- Generate compliance reports with accurate time and leave records π
- Monitor team utilization to optimize workforce planning π
- Real-time visibility into resource allocation across projects π
- Historical data for better project estimation and planning π
- Skills-based team member selection for optimal project outcomes πͺ
- Data-driven insights into team productivity and utilization π
- Cost analysis through detailed time tracking and resource allocation π°
- Scalable system that grows with your organization π
The system exposes RESTful APIs organized into logical modules:
POST http://<your-ip>:7007/auth/login
Content-Type: application/json
{
"email": "john.doe@company.com",
"password": "secure123",
"role": "user"
}Returns JWT tokens for accessing protected endpoints with role-based permissions. π«
GET http://<your-ip>:7007/team/employee_stats
Authorization: Bearer <token>Provides real-time team insights: π
{
"employee_number": 25,
"allocated_employee": 18,
"bench_employee": 7,
"allocated_employee_details": {
"alice@company.com": 8,
"bob@company.com": 6
},
"utilization_rate": 72.5
}POST http://<your-ip>:7007/resource/book_resource
Authorization: Bearer <token>
Content-Type: application/json
{
"email": "developer@company.com",
"project_id": "60d21b4e8b0f0c1c2c8b4567",
"start_date": "2025-04-15T00:00:00",
"end_date": "2025-04-25T00:00:00",
"hours_booked": 6,
"priority": "High",
"ShortTaskName": "API Development"
}Automatically manages availability calendars and prevents conflicts. β‘
POST http://<your-ip>:7007/projects/create_project
Authorization: Bearer <token>
Content-Type: application/json
{
"project_name": "E-commerce Platform",
"allocated_hours": 400,
"client_name": "TechCorp Inc",
"manager_email": "pm@company.com",
"project_type": "Fixed",
"priority": "High",
"status": "Development",
"skills": ["React", "Node.js", "MongoDB"]
}POST http://<your-ip>:7007/reports/project_report
Authorization: Bearer <token>
Content-Type: application/json
{
"date_range": {
"start_date": "2025-04-01",
"end_date": "2025-04-30"
},
"export_format": "csv"
}Generate comprehensive reports for compliance, billing, and analysis. π
Teams Collection π₯ - Employee profiles with skills, departments, and roles
{
"email": "developer@company.com",
"full_name": "Jane Developer",
"department": "Backend Developer",
"skills": ["Python", "FastAPI", "MongoDB"],
"role": "user"
}Resources Collection π - Dynamic availability tracking
{
"email": "developer@company.com",
"available_hours_per_day": {
"2025-04-15": 2,
"2025-04-16": 0,
"2025-04-17": 8
},
"Projects": [{
"booking_id": "BR123456",
"project_id": "60d21b4e8b0f0c1c2c8b4567",
"hours_booked": 6,
"start_date": "2025-04-15",
"end_date": "2025-04-20"
}]
}Projects Collection π - Complete project metadata
{
"project_name": "E-commerce Platform",
"client_name": "TechCorp Inc",
"allocated_hours": 400,
"status": "Development",
"skills": ["React", "Node.js", "MongoDB"]
}- Project manager creates project with required skills π
- Resources are booked for project duration π
- Real-time reports show project progress and resource utilization π
- Manager sets leave through the system π
- System automatically blocks availability for those dates π«
- Resource booking system prevents conflicts during leave period
β οΈ - Payroll integration receives accurate leave records π°
- Admin views real-time utilization dashboard π
- Identifies underutilized team members (bench time) π
- Reassigns resources to high-priority projects π
- Tracks impact on overall team productivity π
- Async MongoDB Operations π - Handles concurrent requests efficiently
- Background Task Processing π€ - Automated cleanup prevents data bloat
- Prometheus Metrics π - Built-in monitoring for production environments
- Docker Containerization π³ - Easy horizontal scaling
- Live availability updates across all resource bookings π
- Instant conflict detection for scheduling
β οΈ - Real-time dashboard updates for management insights π
The system is designed for enterprise integration:
- RESTful APIs π - Standard HTTP protocols for easy integration
- JWT Authentication π« - Compatible with existing identity providers
- Webhook Support π‘ - Real-time notifications to external systems
- CSV/Excel Export π - Seamless data exchange with existing tools
- Prometheus Metrics π - Integration with monitoring infrastructure
Explore the interactive API documentation at http://<your-ip>:7007/docs to see the full capabilities in action. π―β¨