A Full-Stack Human Resource Management System
NOVA-HRM is a full-stack HRM application built to manage employees, attendance, leaves, tasks, performance scores, and salary records.
The system provides separate dashboards for HR and Employees with role-based access control.
- Employee management
- Attendance tracking
- Leave approval & management
- Task assignment
- Performance score management
- Salary management
- Employee dashboard
- View attendance
- Apply for leave
- View assigned tasks
- View performance scorecard
- Secure login system
- Role-based access (HR / Employee)
- React (Vite)
- JSX
- CSS
- Node.js
- Express.js
- REST APIs
- SQL-based database (configured via environment variables)
NOVA-HRM/
│
├── Backend/
│ ├── routes/
│ │ ├── attendance.js
│ │ ├── auth.js
│ │ ├── leave.js
│ │ ├── salary.js
│ │ ├── score.js
│ │ └── task.js
│ │
│ ├── server.js
│ ├── init-db.js
│ ├── add-employee.js
│ ├── list-employees.js
│ ├── test-login.js
│ ├── .env.example
│ └── package.json
│
├── Frontend/
│ ├── public/
│ ├── src/
│ │ ├── components/
│ │ │ ├── CalendarView.jsx
│ │ │ ├── LeaveManagement.jsx
│ │ │ ├── LeaveRequest.jsx
│ │ │ ├── ScoreCard.jsx
│ │ │ └── TaskList.jsx
│ │ │
│ │ ├── pages/
│ │ │ ├── EmployeeDashboard.jsx
│ │ │ ├── HrDashboard.jsx
│ │ │ └── Login.jsx
│ │ │
│ │ ├── App.jsx
│ │ └── main.jsx
│ │
│ └── package.json
│
├── Nova-HRM.mp4
├── LICENSE
└── README.md
git clone https://github.com/your-username/NOVA-HRM.git
cd NOVA-HRMcd Backend
npm installPORT=5000
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=yourpassword
DB_NAME=nova_hrm
JWT_SECRET=your_secret_keynode init-db.jsnode server.jscd Frontend
npm install
npm run devhttp://localhost:5173http://localhost:5000This project is configured for deployment on Vercel.
- A Vercel account
- A PostgreSQL database (e.g., from Vercel Postgres, Supabase, or Neon)
Set the following environment variables in your Vercel project settings:
DATABASE_URL=your_postgres_connection_string
JWT_SECRET=your_jwt_secret_key
NODE_ENV=production
-
Install Vercel CLI (optional, for local deployment):
npm i -g vercel
-
Deploy to Vercel:
vercel
Or connect your GitHub repository to Vercel for automatic deployments.
-
Configure Build Settings:
- Build Command:
cd Frontend && npm install && npm run build - Output Directory:
Frontend/dist - Install Command:
npm run install:all
- Build Command:
-
API Routes:
- All API routes are automatically available at
/api/* - The frontend is configured to use
/apiin production
- All API routes are automatically available at
For local development, the API will use http://localhost:5000/api by default. You can override this by setting the VITE_API_URL environment variable in your .env file.