A lightweight Human Resource Management System built with Django REST Framework (Backend) and React (Frontend).
- Employee Management: Add, view, and delete employee records
- Attendance Tracking: Mark and view attendance records for employees
- Dashboard: Overview statistics and summary
- Django 5.0+ / Django REST Framework
- MongoDB (via PyMongo)
- Python 3.13+
- React 19
- Vite
- Axios
- React Router
- Lucide React (Icons)
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
- Python 3.13+
- Node.js 18+
- MongoDB (local or cloud instance)
- Navigate to backend directory:
cd backend- Create virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Configure environment variables:
Create a
.envfile in thebackend/directory:
MONGO_URI=mongodb://localhost:27017/
DB_NAME=hrms_lite- Run the server:
python manage.py runserverThe API will be available at http://127.0.0.1:8000/api/
- Navigate to frontend directory:
cd frontend- Install dependencies:
npm install- Start development server:
npm run devThe application will be available at http://localhost:5173
GET /api/employees/- List all employeesPOST /api/employees/- Add a new employeeDELETE /api/employees/<employee_id>/- Delete an employee
POST /api/attendance/mark/- Mark attendanceGET /api/attendance/employee/<employee_id>/- View attendance records for an employeeGET /api/attendance/summary/- Dashboard summary
- 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.
- Live Application: https://hrms-lite-version.netlify.app
- GitHub Repository: https://github.com/raorajan/HRMS-Lite
This project is part of a coding assignment.