Skip to content

Ranj8521Kumar/SmartHR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

154 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SmartHR – AI-Powered Human Resource Management System (HRMS)

Theme: Build the Future of HR Management with AI-Powered Solutions


πŸ“Œ Overview

SmartHR is a next-generation, full-stack Human Resource Management System (HRMS) that leverages Artificial Intelligence to streamline and automate HR operations for modern workplaces. It goes far beyond recruitment β€” covering the entire employee lifecycle from onboarding to payroll, attendance, performance, and AI-driven analytics.

Built with a React + TailwindCSS frontend and a Node.js / Express / MongoDB backend, SmartHR is designed to support 5,000+ concurrent employee logins with real-time data processing, role-based personalized dashboards, and deep AI automation across all HR functions.


🎯 Objectives & Project Requirements

  • βœ… Incorporate all core HRMS functionalities β€” employee data management, attendance, payroll, and performance tracking.
  • βœ… AI-driven resume screening & evaluation without human intervention.
  • βœ… AI-powered conversation & voice interaction models for recruitment and candidate screening.
  • βœ… Multi-role login system with tailored access for: Management Admin Β· Senior Manager Β· HR Recruiter Β· Employee.
  • βœ… Personalized dashboards β€” each user sees their own activity; Admins view individual + company-wide dashboards.
  • βœ… Scalability β€” supports 5,000+ employee logins with real-time data processing.
  • βœ… Clean, intuitive UI/UX, optimized for both web and mobile (responsive) access.

🧩 Core HRMS Modules

1. πŸ‘€ Employee Management

  • Employee onboarding and profile management
  • Store and manage personal, professional, and document data
  • Role assignment and department/team structuring
  • Employee lifecycle tracking (hire β†’ active β†’ exit)
  • Profile image upload via Cloudinary CDN

2. πŸ• Attendance Management

  • Daily attendance marking and tracking
  • Leave application and approval workflows
  • Attendance history and summary reports
  • Real-time attendance status per employee
  • Integration with payroll for automated deductions

3. πŸ’° Payroll Management

  • Automated payroll processing based on attendance and role
  • Salary slip generation and management
  • Razorpay integration for payment disbursements
  • Tax and deduction calculations
  • Payroll history and audit logs

4. πŸ“ˆ Performance Tracking

  • Goal setting and KPI management per employee
  • Manager-led performance reviews and ratings
  • Performance trend analytics over time
  • Automated alerts for underperformance
  • AI-assisted performance insights from analytics service

5. πŸ§‘β€πŸ’Ό Recruitment & Candidate Screening

  • Job posting creation and management
  • Bulk resume upload and AI-powered parsing (NLP, BERT, Embeddings)
  • Automated candidate ranking and shortlisting without human intervention
  • Application tracking and status management
  • AI chatbot for candidate FAQ and pre-screening

6. πŸŽ₯ AI Video Interview System

  • Conduct and record video interviews directly in the browser
  • Speech-to-Text transcription of interview responses
  • Sentiment analysis and facial expression detection
  • Eye tracking for attention and engagement measurement
  • AI-generated interview evaluation reports stored to MongoDB

7. πŸ“Š Analytics & Real-Time Dashboards

  • Role-specific dashboards (Admin, Manager, HR Recruiter, Employee)
  • Company-wide HR metrics and insights for Admins
  • Recruitment funnel analytics (applications β†’ shortlisted β†’ hired)
  • Attendance, payroll, and performance dashboards
  • Real-time data powered by the Analytics Service

8. πŸ”” Notifications & Communication

  • Automated email notifications via SMTP (Nodemailer)
  • In-app dashboard notification center
  • Candidate and employee status update emails
  • HR event reminders and alerts

πŸ€– AI Automation Layer

AI Component Description
AI Resume Screening NLP + BERT + Embeddings for resume analysis, scoring, and ranking
Video Interview Evaluation Speech-to-Text + Sentiment Analysis for automated interview scoring
AI Chatbot Optional FAQ & screening assistant for candidates during application
NLP Analytics OpenAI / Hugging Face models for HR insights and performance analytics

πŸ—οΈ System Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                          USERS                                      β”‚
β”‚   Manager | Employee | HR Recruiter | Admin                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚ REST API (HTTPS)
                           β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              Web App (React + TailwindCSS)                           β”‚
β”‚   Multi-Role Login Β· Dashboards Β· Resume Upload Β· Video Interviews   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚
                           β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   API Gateway (Express.js)                           β”‚
β”‚                                                                      β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚ Auth & Role Svc  β”‚  β”‚  Integration Layer   β”‚  β”‚ Employee Mgmt β”‚  β”‚
β”‚  β”‚ (JWT, RBAC)      β”‚  β”‚ (Cloudinary, SMTP,   β”‚  β”‚ (Onboarding,  β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚  Razorpay, AI APIs)  β”‚  β”‚  Attendance,  β”‚  β”‚
β”‚                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚  Payroll)     β”‚  β”‚
β”‚                                                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚ Recruitment Svc  β”‚  β”‚  Interview Service   β”‚  β”‚ Analytics Svc β”‚  β”‚
β”‚  β”‚ (Bulk Resume,    β”‚  β”‚  (Video Interviews,  β”‚  β”‚ (Real-Time    β”‚  β”‚
β”‚  β”‚  AI Screening)   β”‚  β”‚   AI Evaluation)     β”‚  β”‚  Dashboards)  β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚
          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
          β–Ό                β–Ό                      β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  AI AUTOMATION   β”‚  β”‚    STORAGE       β”‚  β”‚    INTEGRATIONS       β”‚
β”‚                  β”‚  β”‚                  β”‚  β”‚                       β”‚
β”‚ AI Resume Screen β”‚  β”‚ MongoDB          β”‚  β”‚ OpenAI / HuggingFace  β”‚
β”‚ (NLP,BERT,Embed) β”‚  β”‚ (User Data,      β”‚  β”‚ (NLP, Analytics)      β”‚
β”‚                  β”‚  β”‚  AI Results,     β”‚  β”‚                       β”‚
β”‚ Video Interview  β”‚  β”‚  Logs)           β”‚  β”‚ Razorpay              β”‚
β”‚ Eval (STT,       β”‚  β”‚                  β”‚  β”‚ (Payroll, Payments)   β”‚
β”‚  Sentiment)      β”‚  β”‚ Cloudinary       β”‚  β”‚                       β”‚
β”‚                  β”‚  β”‚ (Resumes,Images, β”‚  β”‚ SMTP Email            β”‚
β”‚ AI Chatbot       β”‚  β”‚  Videos, CDN)    β”‚  β”‚ (Notifications)       β”‚
β”‚ (FAQ/Screening)  β”‚  β”‚                  β”‚  β”‚                       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ” Roles & Permissions

Role Access Level
Management Admin Full system access β€” all modules, company-wide dashboards, user management, payroll approval
Senior Manager Department-level employee management, performance reviews, team analytics
HR Recruiter Recruitment pipeline, resume screening, interview scheduling, candidate communication
Employee Personal dashboard, attendance, payslips, leave requests, profile management

πŸ› οΈ Tech Stack

Frontend

Technology Purpose
React (Vite) SPA framework
TailwindCSS Styling & responsive design
face-api.js Facial expression detection
Recharts Analytics dashboards

Backend

Technology Purpose
Node.js + Express.js API Gateway & server
MongoDB + Mongoose Primary database
JWT + bcrypt Authentication & security
Multer File upload handling
Nodemailer Email notifications
PDF-Parse + Mammoth Resume parsing
Natural (NLP) Text processing

AI & Integrations

Service Purpose
OpenAI API Resume analysis, NLP, chatbot
Hugging Face BERT embeddings, sentiment analysis
Cloudinary Media storage (resumes, images, videos)
Razorpay Payroll disbursements & payments
SMTP Automated email notifications

Security & Infrastructure

Technology Purpose
Helmet.js HTTP security headers
Rate Limiting API abuse prevention
XSS Protection Input sanitization
Docker Containerized deployment

πŸ“ Project Structure

HRMS/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ config/              # DB, cloud, and service configuration
β”‚   β”œβ”€β”€ controllers/         # Route handlers for all HRMS modules
β”‚   β”œβ”€β”€ middleware/          # Auth, RBAC, error handling, rate limiting
β”‚   β”œβ”€β”€ models/              # MongoDB schemas (Employee, Attendance, Payroll, etc.)
β”‚   β”œβ”€β”€ routes/              # API route definitions
β”‚   β”œβ”€β”€ services/            # Business logic (AI, email, payroll, etc.)
β”‚   β”œβ”€β”€ utils/               # Helpers and utility functions
β”‚   β”œβ”€β”€ uploads/             # Temporary local upload directory
β”‚   β”œβ”€β”€ logs/                # Application and audit logs
β”‚   β”œβ”€β”€ scripts/             # DB seeding and migration scripts
β”‚   β”œβ”€β”€ server.js            # App entry point
β”‚   └── package.json
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ public/
β”‚   └── src/
β”‚       β”œβ”€β”€ assets/          # Static assets
β”‚       β”œβ”€β”€ components/      # Reusable UI components
β”‚       β”œβ”€β”€ config/          # API URLs and app config
β”‚       β”œβ”€β”€ context/         # React context (auth, theme, etc.)
β”‚       β”œβ”€β”€ hooks/           # Custom React hooks
β”‚       β”œβ”€β”€ services/        # API service calls
β”‚       └── pages/           # Page-level components (Dashboard, HR, Payroll, etc.)
β”‚   β”œβ”€β”€ index.html
β”‚   └── package.json
β”œβ”€β”€ docker-compose.yaml
└── README.md

βš™οΈ Setup Instructions

Prerequisites

  • Node.js v18+
  • MongoDB (local or Atlas)
  • Cloudinary account
  • OpenAI API key
  • Razorpay account (for payroll features)

Backend Setup

cd backend
npm install

Create a .env file in the backend/ directory:

# Server
PORT=5000
NODE_ENV=development

# Database
MONGODB_URI=mongodb://localhost:27017/smarthr

# Authentication
JWT_SECRET=your-jwt-secret
JWT_EXPIRES_IN=7d

# Email (SMTP)
EMAIL_HOST=smtp.gmail.com
EMAIL_USER=your-email@gmail.com
EMAIL_PASS=your-app-password

# AI Services
OPENAI_API_KEY=your-openai-key
HUGGINGFACE_API_KEY=your-hf-key

# Cloud Storage
CLOUDINARY_CLOUD_NAME=your-cloud-name
CLOUDINARY_API_KEY=your-api-key
CLOUDINARY_API_SECRET=your-api-secret

# Payments
RAZORPAY_KEY_ID=your-razorpay-key
RAZORPAY_KEY_SECRET=your-razorpay-secret

Run the server:

# Start MongoDB (Windows)
net start MongoDB

# Seed database with roles and demo data
npm run seed

# Start development server
npm run dev

# Production
npm start

Frontend Setup

cd frontend
npm install

Create .env in the frontend/ directory:

VITE_API_URL=http://localhost:5000/api/v1
npm run dev

Docker (Full Stack)

docker-compose up --build

πŸ“‘ API Endpoints (Summary)

See backend/API_DOCUMENTATION.md for full reference.

Authentication

Method Endpoint Description
POST /api/v1/auth/register Register user
POST /api/v1/auth/login Login (returns JWT)
GET /api/v1/auth/logout Logout
GET /api/v1/auth/me Get current user info

Employee Management

Method Endpoint Description
GET /api/v1/employees List all employees
POST /api/v1/employees Add new employee
PUT /api/v1/employees/:id Update employee
DELETE /api/v1/employees/:id Remove employee

Attendance

Method Endpoint Description
POST /api/v1/attendance/mark Mark attendance
GET /api/v1/attendance/:employeeId Get attendance history
POST /api/v1/attendance/leave Apply for leave

Payroll

Method Endpoint Description
GET /api/v1/payroll/:employeeId Get payroll records
POST /api/v1/payroll/process Process monthly payroll
GET /api/v1/payroll/slip/:id Download payslip

Recruitment

Method Endpoint Description
GET /api/v1/jobs List job postings
POST /api/v1/jobs Create job posting
POST /api/v1/applications Submit application
POST /api/v1/resumes/upload Upload resume
POST /api/v1/resumes/parse AI parse & score resume

Interviews

Method Endpoint Description
POST /api/v1/interviews/start Start video interview session
POST /api/v1/interviews/upload Upload interview recording
GET /api/v1/interviews/:id/report Get AI evaluation report

Analytics

Method Endpoint Description
GET /api/v1/analytics/dashboard Role-based dashboard metrics
GET /api/v1/analytics/recruitment Recruitment funnel stats
GET /api/v1/analytics/attendance Attendance summary
GET /api/v1/analytics/performance Performance overview

πŸ“Š Scalability & Design Targets

  • 5,000+ concurrent employee logins with real-time data processing
  • Responsive UI/UX β€” optimized for both web and mobile
  • Modular, service-oriented backend β€” each HRMS domain is a separate service layer
  • CDN-backed media delivery via Cloudinary for resumes, profile images, and interview videos
  • Horizontal scalability supported via Docker containerization

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Commit changes: git commit -m "feat: describe your change"
  4. Push to branch: git push origin feature/your-feature
  5. Open a Pull Request

πŸ“„ License

MIT


For module-specific details, see backend/README.md and frontend/README.md.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors