Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/LVHJ-8/Proyecto_mecanica/llms.txt

Use this file to discover all available pages before exploring further.

El panel de administración de LUVEN Taller & Repuestos es el back-office principal del sistema. Reside en ADMIN/admin.php y actúa como punto de entrada para todas las operaciones administrativas: inventario de repuestos, gestión de servicios, programación de citas, administración de trabajadores y mantenimiento del catálogo (categorías, marcas y modelos de vehículos). Cualquier usuario que intente acceder sin una sesión PHP válida con rol admin es redirigido automáticamente a la página de inicio de sesión.

Protección de sesión

Cada archivo dentro de la carpeta ADMIN/ valida la sesión activa en las primeras líneas del script. Si la variable de sesión $_SESSION['rol'] no existe o su valor no es exactamente 'admin', PHP emite una redirección HTTP y detiene la ejecución:
if (session_status() === PHP_SESSION_NONE) { session_start(); }

if (!isset($_SESSION['rol']) || $_SESSION['rol'] !== 'admin') {
    header("Location: ../Frontend/login.php");
    exit;
}
Este control garantiza que ninguna URL directa a un módulo administrativo sea accesible sin autenticación previa.

Dashboard: tarjetas KPI y alertas

Al cargar admin.php, el servidor ejecuta una serie de consultas SQL para poblar los widgets del dashboard. Los resultados se muestran en tarjetas de resumen y en tablas de alerta en tiempo real.
-- KPI Summary Cards
SELECT COUNT(*) FROM productos;
SELECT COUNT(*) FROM servicios;
SELECT COUNT(*) FROM citas WHERE fecha = CURDATE();

-- Low Stock Alert
SELECT nombre, stock FROM productos WHERE stock <= 5 LIMIT 3;

-- Upcoming Appointments
SELECT h.formato_visible AS hora, u.nombre AS cliente
FROM citas c
JOIN horarios_atencion h ON c.horario_id = h.id
JOIN usuarios u ON c.usuario_id = u.id
WHERE c.fecha >= CURDATE()
ORDER BY h.hora ASC
LIMIT 4;

Tarjetas de resumen

TarjetaConsultaDescripción
Total ProductosSELECT COUNT(*) FROM productosNúmero total de repuestos registrados en el catálogo
Total ServiciosSELECT COUNT(*) FROM serviciosCantidad de servicios disponibles para los clientes
Citas de HoySELECT COUNT(*) FROM citas WHERE fecha = CURDATE()Citas agendadas para la fecha actual del servidor

Alerta de stock bajo

La tabla de stock bajo muestra hasta 3 productos cuyo stock es menor o igual a 5 unidades. Sirve como aviso inmediato para gestionar reposición de inventario antes de que un producto se agote.

Próximas citas

El panel lista las siguientes 4 citas a partir del día actual, ordenadas por hora de atención ascendente. Cada fila muestra la hora en formato legible (formato_visible) y el nombre del cliente obtenido de la tabla usuarios.

Áreas de gestión

El panel agrupa sus módulos en cuatro grandes áreas funcionales:

Catálogo

Gestión del inventario de repuestos y la estructura taxonómica del catálogo: Productos, Categorías, Marcas y Modelos de vehículos.

Operaciones

Administración del flujo de trabajo del taller: Citas agendadas y seguimiento del estado de cada orden.

Contenido

Definición y mantenimiento del portafolio de Servicios ofrecidos por el taller.

Personal

Alta, edición y baja de Trabajadores asignados al taller.
La barra lateral está presente en todas las vistas del panel y permite acceder directamente a cada módulo CRUD:
Ítem de menúArchivo destino
InicioADMIN/admin.php
ProductosADMIN/productos/CRUDProductos.php
ServiciosADMIN/servicios/CRUDServicios.php
CitasADMIN/citas/CRUDCitas.php
CategoríasADMIN/categorias/CRUDCategorias.php
MarcasADMIN/marcas/CRUDMarcas.php
ModelosADMIN/modelos_De_veiculos/CRUDModelos.php
TrabajadoresADMIN/trabajadores/CRUDTrabajadores.php

Cierre de sesión

El enlace Salir ubicado en la barra de navegación superior apunta al controlador de autenticación con la acción logout:
../adisionales/auth.php?accion=logout
Al seguir este enlace, la sesión PHP activa queda invalidada y el usuario es redirigido a la página de inicio de sesión, impidiendo cualquier acceso posterior a ADMIN/ sin reautenticación.

Build docs developers (and LLMs) love