WorkForce_Hub

byMeet Kanteliya

Build a full-stack HR Management System (HRMS) web application with the following complete specifications: === PROJECT OVERVIEW === A modern, production-grade HRMS SaaS platform with 4 role-based portals: Super Admin, HR, Manager, and Employee. Dark + light mode. Premium UI feel like Linear.app meets Rippling. === TECH STACK === Frontend: Next.js 14, Tailwind CSS, Shadcn UI, Framer Motion, Recharts, React Hook Form Backend: FastAPI (Python), PostgreSQL, Redis Auth: JWT with refresh token rotation Deployment: Docker Compose + Nginx === ROLES & PERMISSIONS === SUPER ADMIN: - Manage entire organization - Create/delete HR and Manager accounts - View all analytics and reports - System settings and configuration - Audit logs of all actions HR: - Add/edit/offboard employees - Approve or reject leave requests - Run payroll for all employees - Generate HR reports - Manage departments and positions - Send announcements MANAGER: - View their team members only - Approve/reject team leave requests - Assign and track tasks for team - Write performance reviews - View team attendance EMPLOYEE: - View own profile and payslips - Apply for leaves - View assigned tasks - Check attendance history - View team announcements === CORE MODULES === 1. AUTH MODULE - Login page with smooth animation - JWT access + refresh token - Role-based redirect after login - Forgot password flow 2. DASHBOARD (role-specific) - Admin: org stats, headcount, payroll summary, recent activity - HR: pending leaves, new joiners, payroll status, department chart - Manager: team attendance today, pending approvals, task progress - Employee: my leaves balance, upcoming tasks, recent payslip 3. EMPLOYEE MANAGEMENT - Employee list with search, filter, sort by department/role/status - Employee profile page: personal info, documents, employment history - Add employee form with validation - Soft delete / offboarding flow - Export employee data as CSV 4. LEAVE MANAGEMENT - Employee applies for leave with date range + reason - Manager/HR approves or rejects - Leave balance tracker (casual, sick, earned) - Leave calendar view - Email notification on status change 5. ATTENDANCE - Daily attendance log per employee - Clock in / clock out (manual) - Monthly attendance summary table - Absent / present / late status - Manager can view full team 6. PAYROLL - HR inputs salary components: base, HRA, bonus, deductions - Auto calculate net salary - Generate payslip PDF per employee - Payroll history by month - Export payroll report 7. TASK MANAGEMENT - Manager assigns tasks to employees - Task: title, description, due date, priority, status - Employee updates task status - Kanban board view (Todo / In Progress / Done) - Task completion analytics 8. PERFORMANCE REVIEW - Manager writes quarterly review - Rating system (1-5) per skill - Employee views their review - Historical review archive 9. ANNOUNCEMENTS - HR posts company announcements - All employees see in dashboard - Filter by department 10. REPORTS & ANALYTICS - Headcount by department (bar chart) - Monthly attendance rate (line chart) - Leave utilization (pie chart) - Payroll cost over time (area chart) - Export reports as PDF/CSV === UI/UX REQUIREMENTS === - Dark mode default, light mode toggle - Sidebar navigation with icons - Smooth page transitions (Framer Motion) - Skeleton loading states - Toast notifications for actions - Responsive — works on mobile - Empty states with illustration - Consistent color system: Primary #6366F1 (indigo) Success #10B981 Warning #F59E0B Error #EF4444 Background dark: #0F0F0F Card dark: #1A1A1A === DATABASE SCHEMA === Tables needed: - users (id, name, email, password_hash, role, is_active) - employees (id, user_id, department_id, manager_id, position, salary, join_date, status) - departments (id, name, manager_id) - leaves (id, employee_id, type, start_date, end_date, reason, status, approved_by) - attendance (id, employee_id, date, clock_in, clock_out, status) - payroll (id, employee_id, month, basic, hra, bonus, deductions, net_salary, generated_at) - tasks (id, title, description, assigned_to, assigned_by, due_date, priority, status) - performance_reviews (id, employee_id, reviewer_id, quarter, year, ratings_json, comments) - announcements (id, title, content, department_id, created_by, created_at) === API ENDPOINTS === /auth/login POST /auth/refresh POST /employees GET POST PUT DELETE /employees/{id}/profile GET /leaves GET POST /leaves/{id}/approve PUT /leaves/{id}/reject PUT /attendance GET POST /payroll GET POST /payroll/{id}/payslip GET /tasks GET POST PUT DELETE /performance GET POST /announcements GET POST /reports/headcount GET /reports/attendance GET /reports/payroll GET === DEPLOYMENT === Docker Compose with: - frontend (Next.js) container - backend (FastAPI) container - postgres container - redis container - nginx reverse proxy Include .env.example file Include README with setup steps

LandingDashboardPayslipsDepartmentsAnnouncementsReportsTeamReviewsLeavesAudit LogsEmployeesAttendanceSettingsProfileTasksPayrollAnalyticsAccounts
Landing

Comments (0)

No comments yet. Be the first!

Landing design preview
Landing: View Portal
Login: Sign In
Dashboard: View Summary
Profile: View Profile
Payslips: View Payslips
Leaves: Apply Leave
Leaves: View Leave Balance
Tasks: View Assigned Tasks
Tasks: Update Task Status
Attendance: Check History
Announcements: View Announcements
Reviews: View Performance Review