A full-stack HR management portal for managing employees, salaries, attendance, and daily office tasks — all in one place.
HRNexus is a modern, full-stack HR management portal built for companies to streamline their internal operations. From tracking employee attendance to managing salaries and assigning daily tasks — everything is handled through a clean, centralized web interface accessible to both admins and employees.
- Add, update, and remove employee records
- View individual employee profiles and details
- Role-based access for admins and employees
- Define and manage salary structures per employee
- Track payment history and records
- Generate salary summaries
- Mark and monitor daily employee attendance
- View attendance history and reports
- Track present, absent, and leave status
- Assign daily tasks to employees
- Track task status (pending, in progress, completed)
- Employees can view and update their own tasks
- Centralized dashboard for day-to-day office management
- Admin overview of all active employees and activities
| Layer | Technology |
|---|---|
| Frontend | Next.js, Tailwind CSS |
| Backend | NestJS |
| Database | SQL (MySQL / PostgreSQL) |
| API | REST API |
- Node.js
18+ - npm or yarn
- SQL database (MySQL or PostgreSQL)
# 1. Navigate to the frontend directory
cd frontend
# 2. Install dependencies
npm install
# 3. Start the development server
npm run dev# 1. Navigate to the backend directory
cd backend
# 2. Install dependencies
npm install
# 3. Configure environment variables
cp .env.example .env
# Fill in your database credentials and JWT secret in .env
# 4. Run database migrations
npm run migration:run
# 5. Start the backend server
npm run start:devHRNexus/
├── frontend/ # Next.js frontend
│ ├── app/ # App router pages
│ ├── components/ # Reusable UI components
│ ├── styles/ # Tailwind global styles
│ └── utils/ # Helper functions
│
├── backend/ # NestJS backend
│ ├── src/
│ │ ├── employees/ # Employee module
│ │ ├── attendance/ # Attendance module
│ │ ├── salary/ # Salary module
│ │ ├── tasks/ # Task management module
│ │ ├── auth/ # Authentication & JWT
│ │ └── main.ts # Entry point
│ └── .env.example # Environment variable template
│
└── README.md
Create a .env file in the /backend directory:
DATABASE_HOST=localhost
DATABASE_PORT=3306
DATABASE_USER=your_db_user
DATABASE_PASSWORD=your_db_password
DATABASE_NAME=hrnexus
JWT_SECRET=your_jwt_secret| Role | Access |
|---|---|
| Admin | Full access — manage employees, salary, attendance, tasks |
| Employee | View own profile, attendance, salary, and assigned tasks |
Contributions are welcome! Feel free to open an issue or submit a pull request.
This project is licensed under the MIT License — see the LICENSE file for details.
Made with 🖤 by Farisxdev
Found this useful? Drop a ⭐ on GitHub — it helps a lot!