Skip to content

raorajan/HRMS-Lite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HRMS-Lite

A lightweight Human Resource Management System built with Django REST Framework (Backend) and React (Frontend).

🚀 Features

  • Employee Management: Add, view, and delete employee records
  • Attendance Tracking: Mark and view attendance records for employees
  • Dashboard: Overview statistics and summary

🛠️ Tech Stack

Backend

  • Django 5.0+ / Django REST Framework
  • MongoDB (via PyMongo)
  • Python 3.13+

Frontend

  • React 19
  • Vite
  • Axios
  • React Router
  • Lucide React (Icons)

📁 Project Structure

HRMS-Lite/
├── backend/          # Django REST API
│   ├── core/        # Project configuration
│   ├── employees/   # Employee management app
│   └── attendance/  # Attendance management app
└── frontend/        # React application
    └── src/
        ├── components/
        ├── pages/
        └── api.js

🏃 Getting Started

Prerequisites

  • Python 3.13+
  • Node.js 18+
  • MongoDB (local or cloud instance)

Backend Setup

  1. Navigate to backend directory:
cd backend
  1. Create virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Configure environment variables: Create a .env file in the backend/ directory:
MONGO_URI=mongodb://localhost:27017/
DB_NAME=hrms_lite
  1. Run the server:
python manage.py runserver

The API will be available at http://127.0.0.1:8000/api/

Frontend Setup

  1. Navigate to frontend directory:
cd frontend
  1. Install dependencies:
npm install
  1. Start development server:
npm run dev

The application will be available at http://localhost:5173

📡 API Endpoints

Employees

  • GET /api/employees/ - List all employees
  • POST /api/employees/ - Add a new employee
  • DELETE /api/employees/<employee_id>/ - Delete an employee

Attendance

  • POST /api/attendance/mark/ - Mark attendance
  • GET /api/attendance/employee/<employee_id>/ - View attendance records for an employee
  • GET /api/attendance/summary/ - Dashboard summary

📝 Assumptions & Limitations

  • No Authentication: As per requirements, the system assumes a single admin user without login.
  • MongoDB: Used PyMongo for better compatibility with Python 3.13 and Django 5.0.
  • Data Integrity: Basic server-side validations (Email format, unique IDs) are implemented.

🔗 Links

📄 License

This project is part of a coding assignment.

About

Managing employee records and attendance shouldn't be complicated. HR Flow provides an intuitive solution with a clean dashboard to add employees, mark attendance, and track daily stats. Built with modern React and Django, it delivers a responsive, production-ready experience that simplifies HR tasks for small teams.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors