Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RH Manager · Sistema de Gestión de Recursos Humanos

React Vite Django MySQL License

Dashboard · Asistencia · Nóminas · Autenticación por roles · Diseño Sand & Terracotta

🇬🇧 English version

Dashboard


Características

Frontend (React + Vite)

  • Paginación optimizada con saltos de página truncados y flechas de navegación.
  • Filtros avanzados — Selector minimalista de empleados y selector de fechas con calendario animado, ambos construidos desde cero con Lucide React.
  • Tablas ordenables — Click en cabeceras para ordenar por cualquier columna con indicadores visuales de dirección.
  • Autenticación fluida — Login, registro y recuperación de contraseña con fondo dinámico de esferas animadas y glassmorphism.
  • Sidebar responsive — Colapsable con preservación de estado en localStorage, roles de usuario y footer anclado.
  • Modo oscuro completo con paleta de colores consistente.
  • Exportación CSV con BOM para compatibilidad con Excel.

Backend (Django REST Framework)

  • API REST con autenticación por token (DRF TokenAuth).
  • CRUD completo de empleados con carga de foto de perfil.
  • Módulo de asistencia con detección automática de retardos (> 8:05 AM).
  • Cálculo de nómina mensual con deducciones, bonos y almacenamiento histórico.
  • Dashboard con KPIs diferenciados por rol (admin / empleado).
  • Seed de datos de demostración (10 empleados, 30 días de asistencias, 3 meses de nóminas).

Stack Tecnológico

Capa Tecnología
Frontend React 19, Vite 8, React Router 7, Bootstrap 5, Lucide React
Componentes ThSortable, Pagination, ScrollableTable, MinimalSelect, MinimalDatePicker
Gráficos Recharts
Backend Django 5, Django REST Framework, MySQL 8
Formato react-number-format

Instalación Rápida

Requisitos

  • Python 3.10+
  • Node.js 18+
  • MySQL 8+

1. Backend

cd backend
pip install -r requirements.txt
cp ../.env.example .env   # Edita con tus credenciales MySQL
python manage.py migrate
python manage.py seed_data   # Datos de demostración
python manage.py runserver

Usuarios de demostración:

Usuario Contraseña Rol
admin admin123 Administrador
empleado1 empleado123 Empleado

2. Frontend

cd frontend
npm install
npm run dev

Abre http://localhost:5173 en tu navegador.

Scripts disponibles

npm run dev       # Desarrollo con HMR
npm run build     # Producción
npm run preview   # Vista previa de build

Estructura del Proyecto

rh-manager/
├── backend/
│   ├── empleados/
│   │   ├── models.py
│   │   ├── views.py
│   │   ├── serializers.py
│   │   └── management/commands/seed_data.py
│   └── rh_django/settings.py
├── frontend/
│   ├── src/
│   │   ├── components/          # ThSortable, Pagination, MinimalSelect, DatePicker, ScrollableTable
│   │   ├── empleados/           # Dashboard, ListadoEmpleados, ControlAsistencias, ControlNominas
│   │   ├── AuthContext.jsx      # Autenticación con tokens
│   │   ├── Navegacion.jsx       # Sidebar responsive
│   │   └── index.css            # Sistema de diseño Sand & Terracotta completo
│   └── public/assets/readme/    # Capturas para el README
└── README.md

API Endpoints

Método Endpoint Descripción Auth
POST /api/auth/register Registro No
POST /api/auth/login Login (Token) No
POST /api/auth/recover-password Recuperación No
GET /api/dashboard KPIs por rol
GET/POST/PATCH/DELETE /api/empleados[/id] CRUD empleados
GET/POST/PATCH /api/asistencias[/id] Asistencias
GET/POST /api/nominas[/id] Nóminas
GET/POST /api/configuracion-nomina Configuración

Galería

Pantalla Vista
Login Login
Registro Registro
Listado de Empleados Empleados
Control de Asistencia Asistencia
Nóminas Nóminas
Sidebar Expandido Sidebar
Sidebar Colapsado Sidebar
Modo Oscuro Dark

Licencia

Distribuido bajo la licencia MIT. Ver LICENSE para más información.

About

Human Resources Management System built with React, Django & MySQL. Features attendance control, payroll, role-based auth, dark mode, and responsive design.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages