Skip to content

SHASANGNIX/Nova-HRM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NOVA-HRM 🚀

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.


✨ Features

HR Features

  • Employee management
  • Attendance tracking
  • Leave approval & management
  • Task assignment
  • Performance score management
  • Salary management

Employee Features

  • Employee dashboard
  • View attendance
  • Apply for leave
  • View assigned tasks
  • View performance scorecard

Authentication

  • Secure login system
  • Role-based access (HR / Employee)

🛠 Tech Stack

Frontend

  • React (Vite)
  • JSX
  • CSS

Backend

  • Node.js
  • Express.js
  • REST APIs

Database

  • SQL-based database (configured via environment variables)

📁 Project Structure

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

⚙️ Installation & Setup

Clone Repository

git clone https://github.com/your-username/NOVA-HRM.git
cd NOVA-HRM

Backend Setup

cd Backend
npm install

Create .env file using .env.example:

PORT=5000
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=yourpassword
DB_NAME=nova_hrm
JWT_SECRET=your_secret_key

Initialize database:

node init-db.js

Start backend server:

node server.js

Frontend Setup

cd Frontend
npm install
npm run dev

Frontend runs at:

http://localhost:5173

Backend runs at:

http://localhost:5000

🚀 Deployment to Vercel

This project is configured for deployment on Vercel.

Prerequisites

  • A Vercel account
  • A PostgreSQL database (e.g., from Vercel Postgres, Supabase, or Neon)

Environment Variables

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

Deployment Steps

  1. Install Vercel CLI (optional, for local deployment):

    npm i -g vercel
  2. Deploy to Vercel:

    vercel

    Or connect your GitHub repository to Vercel for automatic deployments.

  3. Configure Build Settings:

    • Build Command: cd Frontend && npm install && npm run build
    • Output Directory: Frontend/dist
    • Install Command: npm run install:all
  4. API Routes:

    • All API routes are automatically available at /api/*
    • The frontend is configured to use /api in production

Local Development

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.

🎥 Demo Video

▶ Watch Demo Video

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors