Skip to content

Project: Basic Internal HR System Objective - The goal is to build a basic HR management system that allows the company to manage employees, including adding, updating, and listing employees. This should be a full-stack application using the required technologies.

License

Notifications You must be signed in to change notification settings

Alexander-Milligan/humanitarianoperationsApp

Repository files navigation

Basic Internal HR System

License: Proprietary Next.js TypeScript React Bootstrap Node.js Vercel

A full-stack HR management system built with Next.js, TypeScript, and Node.js API routes.
This project demonstrates role-based authentication, employee management, HR request handling, and live deployment on Vercel.

Project Objective

The goal of this project is to build a basic internal HR system that enables a company to manage employees efficiently.
The system supports Admin and Employee roles, offering features for CRUD operations, dashboards, and HR requests.


##Requirements vs Implementation

1. User Authentication

  • ✔️ Sign-in & Sign-out functionality
  • ✔️ JWT-based sessions
  • ✔️ Role-based access control (Admin & Employee)

2. Employee Management

  • ✔️ Admin can:
    • Add employees (Name, Email, Department, Position, Salary)
    • Edit employee details
    • Delete employees
  • ✔️ Linked login account created automatically for each employee
  • ✔️ Demo account: admin / password123

3. Tech Stack

  • Frontend: React, TypeScript, Next.js
  • Styling: CSS Modules + Bootstrap 5
  • Backend: Node.js via Next.js API routes
  • Database (Demo): In-memory store (/lib/store.ts)
    • (Production-ready to swap with PostgreSQL/MySQL/MongoDB)
  • Cloud Hosting: Vercel
    • CI/CD via GitHub → auto deploy to production

4. Bonus Features

  • ✔️ Upload employee profile pictures (local storage in /public/uploads)
  • ✔️ Dashboard with employee statistics
  • ✔️ Deployment via Vercel (cloud demo live)
  • ⚡ CI/CD (GitHub → Vercel integration)

5. Evaluation Criteria

  • ✔️ Clean, modular code (React components, API routes, typed models)
  • ✔️ Fully functional system with Admin & Employee flows
  • ✔️ Demonstrated full-stack skills (frontend, backend, APIs, auth)
  • ✔️ Live deployment (Vercel link below)

🛠️ Tech Stack

Layer Technology Used
Frontend React 18, Next.js 15, TypeScript
Backend Next.js API Routes (Node.js)
Styling Bootstrap 5 + CSS Modules
Charts Recharts (Radial & Bar Charts)
Auth JWT (jwt-decode)
Data Store In-memory demo store (/lib/store.ts)
Cloud Vercel (serverless deployment)

📂 Project Structure

hr-system/ │── app/ # Next.js App Router pages │ ├── api/ # API routes (employees, hr, stats, leave, etc.) │ └── dashboard/ # Admin & Employee dashboards │── lib/ # Shared in-memory store and type models │── public/ # Static assets (avatars, uploads) │── server.js # Local Express server (for cPanel Node hosting) │── package.json │── next.config.ts │── tsconfig.json │── .env.local # Environment variables (ignored in repo)

👨‍💻 Author

Built with ❤️ by Alexander Milligan
🌐 saltirewebsites.com

🚀 Live Vercel Demo

⚖️ Copyright & License

© 2025 Alexander Milligan. All rights reserved.

This project is provided exclusively for technical assessment purposes.
It may not be copied, modified, distributed, or used outside of the assessment without prior written consent.

🔗 See LICENSE and COPYRIGHT.md for details.

About

Project: Basic Internal HR System Objective - The goal is to build a basic HR management system that allows the company to manage employees, including adding, updating, and listing employees. This should be a full-stack application using the required technologies.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •