1ra Versión
This commit is contained in:
@@ -0,0 +1,618 @@
|
||||
# Sistema de Gestión - Complejo Cap1tan ⚽🎾
|
||||
|
||||
Sistema integral de gestión para un complejo deportivo que incluye reserva de canchas, gestión de cantina, inventario, proveedores y reportes.
|
||||
|
||||
## 📋 Índice
|
||||
|
||||
- [Descripción General](#descripción-general)
|
||||
- [Características Principales](#características-principales)
|
||||
- [Requisitos del Sistema](#requisitos-del-sistema)
|
||||
- [Levantar el Proyecto](#levantar-el-proyecto)
|
||||
- [Instalación](#instalación)
|
||||
- [Configuración](#configuración)
|
||||
- [Estructura del Proyecto](#estructura-del-proyecto)
|
||||
- [Módulos Principales](#módulos-principales)
|
||||
- [Base de Datos](#base-de-datos)
|
||||
- [Roles y Permisos](#roles-y-permisos)
|
||||
- [Uso del Sistema](#uso-del-sistema)
|
||||
- [API Endpoints](#api-endpoints)
|
||||
- [Tecnologías Utilizadas](#tecnologías-utilizadas)
|
||||
|
||||
## 📖 Descripción General
|
||||
|
||||
Sistema web desarrollado para la gestión integral del **Complejo Cap1tan**, permitiendo:
|
||||
- Administración de usuarios con diferentes roles
|
||||
- Reserva y gestión de canchas
|
||||
- Control de inventario de la cantina
|
||||
- Gestión de proveedores y órdenes de compra
|
||||
- Reportes de ventas y ganancias
|
||||
- Sistema de cupones de descuento
|
||||
- Notificaciones vía WhatsApp
|
||||
|
||||
## ✨ Características Principales
|
||||
|
||||
### Gestión de Usuarios
|
||||
- ✅ Sistema de autenticación seguro
|
||||
- ✅ Tres roles: Administrador General, Administrador Cancha y Administrador Cantina
|
||||
- ✅ Perfiles de usuarios con datos personales
|
||||
- ✅ Edición rápida desde el modal de perfil del usuario conectado
|
||||
- ✅ Gestión completa desde la interfaz administrativa
|
||||
|
||||
### Reservas de Canchas
|
||||
- ✅ Reserva de turnos en canchas
|
||||
- ✅ Visualización de disponibilidad
|
||||
- ✅ Sistema de cupones para clientes frecuentes
|
||||
- ✅ Registro de faltas y asistencias
|
||||
- ✅ Descuentos automáticos por cupones
|
||||
- ✅ Verificación del cliente por WhatsApp antes de confirmar la reserva
|
||||
|
||||
### Gestión de Cantina
|
||||
- ✅ Catálogo de productos
|
||||
- ✅ Control de stock
|
||||
- ✅ Registro de ventas en tiempo real
|
||||
- ✅ Alertas visuales de stock bajo
|
||||
- ✅ Cálculo automático de ganancias
|
||||
- ✅ Actualización dinámica del stock sin recargar completamente la página
|
||||
|
||||
### Gestión de Proveedores
|
||||
- ✅ Registro de proveedores
|
||||
- ✅ Órdenes de compra
|
||||
- ✅ Aprobación de órdenes por el administrador
|
||||
- ✅ Asociación de productos por proveedor
|
||||
- ✅ Historial de compras
|
||||
- ✅ Envío de órdenes por WhatsApp para comunicación rápida
|
||||
|
||||
### Reportes y Análisis
|
||||
- ✅ Reporte de ventas
|
||||
- ✅ Cálculo de ganancia neta
|
||||
- ✅ Seguimiento de gastos
|
||||
- ✅ Resumen por período
|
||||
- ✅ **Generación de reportes por período: Diario, Semanal, Mensual y Anual**
|
||||
- ✅ **Exportación de reportes a PDF y Excel con formato profesional**
|
||||
- ✅ Correcciones y mejoras en la generación visual de reportes
|
||||
|
||||
## 💻 Requisitos del Sistema
|
||||
|
||||
### Software Necesario
|
||||
- **PHP** >= 7.4
|
||||
- **MySQL/MariaDB** >= 5.7
|
||||
- **Apache** (incluido en XAMPP)
|
||||
- **Python** 3.8+ (para envío de mensajes WhatsApp)
|
||||
- **Navegador** moderno (Chrome, Firefox, Edge)
|
||||
|
||||
### Dependencias de Python
|
||||
```bash
|
||||
selenium
|
||||
webdriver-manager
|
||||
```
|
||||
|
||||
### Servidor Local
|
||||
- **XAMPP** o equivalente (Apache + MySQL + PHP)
|
||||
|
||||
## ▶️ Levantar el Proyecto
|
||||
|
||||
|
||||
Para usar el sistema localmente, basta con dejar el proyecto en la carpeta de XAMPP, iniciar Apache y MySQL, importar la base de datos y abrir la interfaz desde el navegador.
|
||||
|
||||
### Pasos
|
||||
1. Ubica el proyecto en:
|
||||
```bash
|
||||
C:\xampp\htdocs\TP-Taller\ProyectoTaller
|
||||
```
|
||||
2. Inicia **Apache** y **MySQL** desde XAMPP.
|
||||
3. Crea la base de datos `complejo_cap1tan` y carga los scripts SQL indicados en la sección de instalación.
|
||||
4. Ajusta las credenciales en [php/conexion.php](php/conexion.php) si es necesario.
|
||||
5. Abre la aplicación en:
|
||||
```text
|
||||
http://localhost/TP-Taller/ProyectoTaller/html/Login.html
|
||||
```
|
||||
|
||||
### Uso inicial
|
||||
Una vez abierta la aplicación, podés comenzar a gestionar reservas, ventas, productos, proveedores, órdenes y reportes desde el panel principal.
|
||||
|
||||
## 📦 Instalación
|
||||
|
||||
### 1. Requisitos Previos
|
||||
Asegúrate de tener **XAMPP** instalado y ejecutando:
|
||||
- Apache en puerto 80
|
||||
- MySQL en puerto 3306
|
||||
|
||||
### 2. Clonar/Descargar Proyecto
|
||||
```bash
|
||||
# Ubicar el proyecto en la carpeta htdocs de XAMPP
|
||||
c:\xampp\htdocs\TP-Taller\ProyectoTaller
|
||||
```
|
||||
|
||||
### 3. Crear Base de Datos
|
||||
```bash
|
||||
# Acceder a phpMyAdmin
|
||||
# http://localhost/phpmyadmin
|
||||
|
||||
# Crear base de datos: complejo_cap1tan
|
||||
CREATE DATABASE complejo_cap1tan;
|
||||
USE complejo_cap1tan;
|
||||
```
|
||||
|
||||
### 4. Importar Tablas
|
||||
1. En phpMyAdmin, selecciona la base de datos `complejo_cap1tan`
|
||||
2. Ve a la pestaña **Importar**
|
||||
3. Selecciona el archivo `sql/Tablas.sql`
|
||||
4. Haz clic en **Ejecutar**
|
||||
|
||||
### 5. Importar Datos Iniciales (Opcional)
|
||||
```bash
|
||||
# Para cargar datos de prueba
|
||||
sql/Insertar\ Datos.sql
|
||||
```
|
||||
|
||||
### 6. Importar Triggers
|
||||
```bash
|
||||
# Para funcionalidades avanzadas
|
||||
sql/Triggers.sql
|
||||
```
|
||||
|
||||
## ⚙️ Configuración
|
||||
|
||||
### Conexión a Base de Datos
|
||||
|
||||
Editar archivo `php/conexion.php`:
|
||||
|
||||
```php
|
||||
<?php
|
||||
$host = 'localhost'; // Servidor MySQL
|
||||
$user = 'root'; // Usuario MySQL
|
||||
$password = 'admin'; // Contraseña MySQL
|
||||
$db = 'complejo_cap1tan'; // Nombre de la base de datos
|
||||
|
||||
$conexion = new mysqli($host, $user, $password, $db);
|
||||
|
||||
if ($conexion->connect_error) {
|
||||
die('Error de conexión: ' . $conexion->connect_error);
|
||||
}
|
||||
$conexion->set_charset('utf8');
|
||||
?>
|
||||
```
|
||||
|
||||
### Configuración de WhatsApp
|
||||
|
||||
Para habilitar notificaciones vía WhatsApp:
|
||||
|
||||
1. Instalar dependencias Python:
|
||||
```bash
|
||||
pip install selenium webdriver-manager
|
||||
```
|
||||
|
||||
2. Descargar ChromeDriver compatible con tu versión de Chrome
|
||||
|
||||
3. Editar `python/Enviar_WSP.py` con rutas correctas
|
||||
|
||||
## 📁 Estructura del Proyecto
|
||||
|
||||
```
|
||||
ProyectoTaller/
|
||||
├── backups/ # Copias de seguridad
|
||||
│ └── *.zip # Archivos de backup automático
|
||||
├── css/ # Estilos CSS
|
||||
│ ├── Cantina.css # Estilos del módulo de cantina
|
||||
│ ├── Login.css # Estilos de login
|
||||
│ └── Reserva_Clientes.css # Estilos de reservas
|
||||
├── html/ # Archivos HTML
|
||||
│ ├── Cantina.html # Página principal (cantina)
|
||||
│ ├── Login.html # Página de inicio de sesión
|
||||
│ └── Reserva_Clientes.html # Página de reservas
|
||||
├── js/ # Archivos JavaScript
|
||||
│ ├── Gestion_Canchas.js # Lógica de gestión de canchas
|
||||
│ ├── Gestion_Usuarios.js # Lógica de gestión de usuarios
|
||||
│ ├── Orden_Compra.js # Lógica de órdenes de compra
|
||||
│ ├── Reservar_Turno.js # Lógica de reservas
|
||||
│ ├── Resumen_Ventas.js # Lógica de resumen de ventas
|
||||
│ ├── Tabla_Gastos.js # Lógica de tabla de gastos
|
||||
│ ├── Tabla_Productos.js # Lógica de tabla de productos
|
||||
│ ├── Tabla_Proveedor.js # Lógica de tabla de proveedores
|
||||
│ ├── Tabla_Reservas.js # Lógica de tabla de reservas
|
||||
│ └── Tabla_Ventas.js # Lógica de tabla de ventas
|
||||
├── php/ # Archivos backend PHP
|
||||
│ ├── conexion.php # Conexión a base de datos
|
||||
│ ├── Login.php # Autenticación
|
||||
│ ├── Logout.php # Cierre de sesión
|
||||
│ ├── Session_Info.php # Información de sesión
|
||||
│ │
|
||||
│ ├── *Usuarios*
|
||||
│ ├── Guardar_Usuario.php # Crear usuario
|
||||
│ ├── Obtener_Usuarios.php # Listar usuarios
|
||||
│ ├── Actualizar_Usuario.php # Editar usuario
|
||||
│ ├── Eliminar_Usuario.php # Eliminar usuario
|
||||
│ ├── Actualizar_Perfil.php # Actualizar perfil propio
|
||||
│ │
|
||||
│ ├── *Canchas*
|
||||
│ ├── Obtener_Canchas.php # Listar todas las canchas
|
||||
│ ├── Obtener_Canchas_Numeros.php # Obtener números de canchas
|
||||
│ ├── Actualizar_Cancha.php # Actualizar datos de cancha
|
||||
│ ├── Obtener_Disponibilidad_Cancha.php
|
||||
│ ├── Obtener_Disponibilidad_Quincho.php
|
||||
│ ├── Obtener_Horarios.php # Obtener horarios disponibles
|
||||
│ ├── Actualizar_Horarios.php # Editar horarios
|
||||
│ │
|
||||
│ ├── *Reservas*
|
||||
│ ├── Guardar_Reserva.php # Crear reserva
|
||||
│ ├── Obtener_Reservas.php # Listar reservas
|
||||
│ ├── Actualizar_Estado_Reserva.php # Cambiar estado de reserva
|
||||
│ ├── Tabla_Reservas.js # Frontend de reservas
|
||||
│ │
|
||||
│ ├── *Productos (Cantina)*
|
||||
│ ├── Agregar_Producto.php # Crear producto
|
||||
│ ├── Obtener_Productos.php # Listar productos
|
||||
│ ├── Editar_Producto.php # Actualizar producto
|
||||
│ ├── Eliminar_Producto.php # Eliminar producto
|
||||
│ ├── Buscar_Producto_Ventas.php
|
||||
│ ├── Buscar_Producto_Orden.php
|
||||
│ │
|
||||
│ ├── *Ventas*
|
||||
│ ├── Registrar_Venta.php # Registrar venta en cantina
|
||||
│ ├── Obtener_Ventas.php # Obtener histórico de ventas
|
||||
│ ├── Ganacia_Neta.php # Calcular ganancias
|
||||
│ │
|
||||
│ ├── *Proveedores*
|
||||
│ ├── Guardar_Proveedor.php # Crear proveedor
|
||||
│ ├── Obtener_Proveedores.php # Listar proveedores
|
||||
│ ├── Editar_Proveedor.php # Actualizar proveedor
|
||||
│ ├── Eliminar_Proveedor.php # Eliminar proveedor
|
||||
│ ├── Buscar_Proveedor.php # Buscar proveedor
|
||||
│ ├── Buscar_Proveedor_Editar.php
|
||||
│ │
|
||||
│ ├── *Órdenes de Compra*
|
||||
│ ├── Registrar_Orden_Compra.php # Crear orden
|
||||
│ ├── Obtener_Ordenes_Compra.php # Listar órdenes
|
||||
│ ├── Actualizar_Orden_Compra.php # Cambiar estado de orden
|
||||
│ ├── Obtener_Productos_Orden.php # Productos de una orden
|
||||
│ ├── Agregar_Producto_Proveedor.php
|
||||
│ ├── Eliminar_Producto_Proveedor.php
|
||||
│ ├── Obtener_Productos_Proveedor.php
|
||||
│ │
|
||||
│ ├── *Gastos*
|
||||
│ ├── Registrar_Gastos.php # Registrar gasto
|
||||
│ ├── Obtener_Gastos.php # Listar gastos
|
||||
│ ├── Editar_Gasto.php # Editar gasto
|
||||
│ ├── Eliminar_Gasto.php # Eliminar gasto
|
||||
│ │
|
||||
│ ├── *Cupones*
|
||||
│ ├── Obtener_Cupon.php # Obtener datos de cupón
|
||||
│ │
|
||||
│ ├── *Utilidades*
|
||||
│ ├── Enviar_Codigo_WSP.php # Enviar código de verificación
|
||||
│ ├── Obtener_Reporte.php # Generar reportes
|
||||
│ ├── backup.php # Hacer backup de BD
|
||||
│ ├── Test_Conexion.php # Prueba de conexión
|
||||
│
|
||||
├── python/ # Scripts Python
|
||||
│ └── Enviar_WSP.py # Envío automático de mensajes WhatsApp
|
||||
├── sql/ # Scripts SQL
|
||||
│ ├── Tablas.sql # Estructura de base de datos
|
||||
│ ├── Insertar\ Datos.sql # Datos iniciales de prueba
|
||||
│ ├── Consultas.sql # Consultas útiles
|
||||
│ └── Triggers.sql # Triggers de base de datos
|
||||
└── README.md # Este archivo
|
||||
```
|
||||
|
||||
## 🗄️ Módulos Principales
|
||||
|
||||
### 1. **Autenticación**
|
||||
- `php/Login.php`: Valida credenciales de usuario
|
||||
- `php/Logout.php`: Cierra sesión actual
|
||||
- Sistema de sesiones con roles
|
||||
|
||||
### 2. **Gestión de Usuarios**
|
||||
- Crear, editar, listar y eliminar usuarios
|
||||
- Asignación de roles (Admin, Cancha, Cantina)
|
||||
- Perfiles con datos personales
|
||||
- Edición rápida del perfil desde el panel principal
|
||||
|
||||
### 3. **Gestión de Canchas**
|
||||
- Gestión de canchas (CRUD)
|
||||
- Gestión de horarios disponibles
|
||||
- Seguimiento de disponibilidad
|
||||
|
||||
### 4. **Sistema de Reservas**
|
||||
- Reserva de turnos en canchas
|
||||
- Sistema de cupones para descuentos
|
||||
- Registro de asistencia/faltas
|
||||
- Cálculo automático de descuentos
|
||||
- Confirmación con verificación por WhatsApp
|
||||
|
||||
### 5. **Cantina**
|
||||
- Gestión de productos (CRUD)
|
||||
- Control de inventario
|
||||
- Registro de ventas
|
||||
- Alertas de stock bajo
|
||||
|
||||
### 6. **Proveedores y Compras**
|
||||
- Registro de proveedores
|
||||
- Órdenes de compra con aprobación
|
||||
- Asociación de productos por proveedor
|
||||
- Envío de órdenes y seguimiento desde la interfaz
|
||||
|
||||
### 7. **Reportes**
|
||||
- Resumen de ventas por período
|
||||
- Cálculo de ganancias netas
|
||||
- Tracking de gastos
|
||||
- Exportación a PDF y Excel
|
||||
- Visualización optimizada para reportes diarios, semanales, mensuales y anuales
|
||||
|
||||
### 8. **Seguridad y Operaciones Avanzadas**
|
||||
- Verificación de clientes por WhatsApp
|
||||
- Gestión del perfil del usuario autenticado
|
||||
- Copias de seguridad automáticas de la base de datos
|
||||
- Alertas de productos con stock bajo
|
||||
- Mejoras en el flujo de validación y control de operaciones
|
||||
|
||||
## 📊 Base de Datos
|
||||
|
||||
### Tablas Principales
|
||||
|
||||
| Tabla | Descripción |
|
||||
|-------|-----------|
|
||||
| `usuarios` | Usuarios del sistema con roles |
|
||||
| `clientes` | Clientes que reservan canchas |
|
||||
| `canchas` | Canchas disponibles para reserva |
|
||||
| `reservas` | Histórico de reservas |
|
||||
| `productos` | Productos de la cantina |
|
||||
| `ventas` | Registro de ventas |
|
||||
| `ventas_productos` | Detalle de productos en cada venta |
|
||||
| `proveedores` | Proveedores de productos |
|
||||
| `ordenes_compra` | Órdenes de compra a proveedores |
|
||||
| `ordenes_productos` | Detalle de productos en órdenes |
|
||||
| `gastos` | Gastos operativos |
|
||||
| `cupones` | Cupones de descuento |
|
||||
| `alertas_stock` | Alertas de stock bajo |
|
||||
|
||||
### Roles de Base de Datos
|
||||
- `Admin`: Acceso total a todo el sistema
|
||||
- `Cancha`: Gestión de reservas y canchas
|
||||
- `Cantina`: Gestión de productos y ventas
|
||||
|
||||
## 👥 Roles y Permisos
|
||||
|
||||
### Administrador
|
||||
- ✅ Gestión completa de usuarios
|
||||
- ✅ Gestión de canchas y horarios
|
||||
- ✅ Acceso a reportes
|
||||
- ✅ Gestión de proveedores
|
||||
- ✅ Backup de base de datos
|
||||
|
||||
### Cancha
|
||||
- ✅ Gestionar reservas
|
||||
- ✅ Ver disponibilidad de canchas
|
||||
- ✅ Consultar historial de reservas
|
||||
- ❌ Gestión de usuarios
|
||||
- ❌ Reportes financieros
|
||||
|
||||
### Cantina
|
||||
- ✅ Gestionar productos
|
||||
- ✅ Registrar ventas
|
||||
- ✅ Ver resumen de ventas
|
||||
- ✅ Gestionar proveedores
|
||||
- ✅ Crear órdenes de compra
|
||||
- ❌ Gestión de usuarios
|
||||
- ❌ Gestión de reservas
|
||||
|
||||
## 🚀 Uso del Sistema
|
||||
|
||||
### 1. Acceso al Sistema
|
||||
```
|
||||
URL: http://localhost/TP-Taller/ProyectoTaller/html/Login.html
|
||||
Usuario: admin
|
||||
Contraseña: admin
|
||||
```
|
||||
|
||||
### 2. Crear un Usuario
|
||||
1. Inicia sesión como Admin
|
||||
2. Ve a Gestión de Usuarios
|
||||
3. Haz clic en "Nuevo Usuario"
|
||||
4. Completa el formulario con:
|
||||
- Usuario (nombre de login)
|
||||
- Contraseña
|
||||
- Nombre y Apellido
|
||||
- DNI
|
||||
- Email y Teléfono
|
||||
- Rol
|
||||
|
||||
### 3. Registrar una Reserva
|
||||
1. Ve a Reservas > Nueva Reserva
|
||||
2. Selecciona la cancha
|
||||
3. Elige la fecha y hora disponible
|
||||
4. Si el cliente tiene cupón, selecciona el descuento
|
||||
5. El sistema solicita verificación por WhatsApp del cliente
|
||||
6. Completa la verificación e ingresa el código recibido
|
||||
7. Confirma la reserva
|
||||
|
||||
### 4. Registrar una Venta
|
||||
1. Ve a Cantina > Nueva Venta
|
||||
2. Busca y agrega productos (el sistema alertará si el stock es bajo)
|
||||
3. El sistema calcula automáticamente el total
|
||||
4. Registra la venta
|
||||
|
||||
### 5. Crear Orden de Compra
|
||||
1. Ve a Proveedores > Nueva Orden
|
||||
2. Selecciona proveedor
|
||||
3. Agrega productos
|
||||
4. Envía para aprobación
|
||||
5. (Opcional) Envía la orden por WhatsApp desde el sistema
|
||||
6. Admin aprueba o rechaza la orden
|
||||
|
||||
### 6. Generar Reportes
|
||||
1. Ve a Reportes > Generar Reportes
|
||||
2. Selecciona el tipo de reporte:
|
||||
- **Diario**: Control de operación y cierre de caja
|
||||
- **Semanal**: Flujo de caja y rendimiento
|
||||
- **Mensual**: Rentabilidad y estado de resultados
|
||||
- **Anual**: Balance general y visión estratégica
|
||||
3. Visualiza el reporte en pantalla
|
||||
4. Exporta a **PDF** o **Excel** según necesites
|
||||
|
||||
## 🔌 API Endpoints
|
||||
|
||||
Todos los endpoints devuelven JSON y utilizan `GET` o `POST`.
|
||||
|
||||
### Usuarios
|
||||
```
|
||||
POST /php/Guardar_Usuario.php - Crear usuario
|
||||
GET /php/Obtener_Usuarios.php - Listar usuarios
|
||||
POST /php/Actualizar_Usuario.php - Editar usuario
|
||||
POST /php/Eliminar_Usuario.php - Eliminar usuario
|
||||
POST /php/Actualizar_Perfil.php - Actualizar perfil propio
|
||||
GET /php/Session_Info.php - Obtener datos de sesión actual
|
||||
```
|
||||
|
||||
### Autenticación
|
||||
```
|
||||
POST /php/Login.php - Iniciar sesión
|
||||
GET /php/Logout.php - Cerrar sesión
|
||||
```
|
||||
|
||||
### Canchas
|
||||
```
|
||||
GET /php/Obtener_Canchas.php - Listar canchas
|
||||
GET /php/Obtener_Canchas_Numeros.php - Obtener números
|
||||
POST /php/Actualizar_Cancha.php - Editar cancha
|
||||
GET /php/Obtener_Disponibilidad_Cancha.php
|
||||
GET /php/Obtener_Horarios.php - Listar horarios
|
||||
POST /php/Actualizar_Horarios.php - Editar horarios
|
||||
```
|
||||
|
||||
### Reservas
|
||||
```
|
||||
POST /php/Guardar_Reserva.php - Crear reserva
|
||||
GET /php/Obtener_Reservas.php - Listar reservas
|
||||
POST /php/Actualizar_Estado_Reserva.php - Cambiar estado
|
||||
GET /php/Obtener_Cupon.php - Obtener estado del cupón
|
||||
POST /php/Enviar_Codigo_WSP.php - Enviar código de verificación WhatsApp
|
||||
```
|
||||
|
||||
### Productos
|
||||
```
|
||||
POST /php/Agregar_Producto.php - Crear producto
|
||||
GET /php/Obtener_Productos.php - Listar productos
|
||||
POST /php/Editar_Producto.php - Editar producto
|
||||
POST /php/Eliminar_Producto.php - Eliminar producto
|
||||
```
|
||||
|
||||
### Ventas
|
||||
```
|
||||
POST /php/Registrar_Venta.php - Registrar venta
|
||||
GET /php/Obtener_Ventas.php - Listar ventas
|
||||
GET /php/Ganacia_Neta.php - Calcular ganancias
|
||||
```
|
||||
|
||||
### Proveedores
|
||||
```
|
||||
POST /php/Guardar_Proveedor.php - Crear proveedor
|
||||
GET /php/Obtener_Proveedores.php - Listar proveedores
|
||||
POST /php/Editar_Proveedor.php - Editar proveedor
|
||||
POST /php/Eliminar_Proveedor.php - Eliminar proveedor
|
||||
```
|
||||
|
||||
### Órdenes de Compra
|
||||
```
|
||||
POST /php/Registrar_Orden_Compra.php - Crear orden
|
||||
GET /php/Obtener_Ordenes_Compra.php - Listar órdenes
|
||||
POST /php/Actualizar_Orden_Compra.php - Cambiar estado (aprobar/rechazar)
|
||||
GET /php/Obtener_Productos_Orden.php - Productos de orden
|
||||
POST /php/Agregar_Producto_Proveedor.php - Asociar producto a proveedor
|
||||
```
|
||||
|
||||
### Gastos
|
||||
```
|
||||
POST /php/Registrar_Gastos.php - Registrar gasto
|
||||
GET /php/Obtener_Gastos.php - Listar gastos
|
||||
POST /php/Editar_Gasto.php - Editar gasto
|
||||
POST /php/Eliminar_Gasto.php - Eliminar gasto
|
||||
```
|
||||
|
||||
### Reportes y Operaciones
|
||||
```
|
||||
GET /php/Obtener_Reporte.php - Generar reportes (diario, semanal, mensual, anual)
|
||||
GET /php/Ganacia_Neta.php - Ganancias por período
|
||||
POST /php/backup.php - Crear backup de base de datos
|
||||
GET /php/Test_Conexion.php - Probar conexión a base de datos
|
||||
```
|
||||
|
||||
## 🛠️ Tecnologías Utilizadas
|
||||
|
||||
### Backend
|
||||
- **PHP 7.4+** - Lenguaje servidor
|
||||
- **MySQL/MariaDB** - Base de datos relacional
|
||||
- **MySQLi** - Conexión a base de datos
|
||||
- **Prepared Statements** - Protección contra SQL injection
|
||||
|
||||
### Frontend
|
||||
- **HTML5** - Estructura
|
||||
- **CSS3** - Estilos
|
||||
- **JavaScript (Vanilla)** - Interactividad
|
||||
- **AJAX** - Comunicación asíncrona
|
||||
|
||||
### Utilidades
|
||||
- **Python 3.8+** - Scripts de automatización
|
||||
- **Selenium** - Automatización de WhatsApp Web
|
||||
- **XAMPP** - Stack local (Apache, MySQL, PHP)
|
||||
|
||||
## 🔒 Seguridad
|
||||
|
||||
- Autenticación con sesiones
|
||||
- Prepared Statements para prevenir SQL injection
|
||||
- Validación de entrada en servidor
|
||||
- Control de roles y permisos
|
||||
|
||||
## 📝 Mantenimiento
|
||||
|
||||
### Backup Automático
|
||||
```bash
|
||||
# Ejecutar backup manual
|
||||
php/backup.php
|
||||
```
|
||||
|
||||
Los backups se guardan en la carpeta `backups/` con timestamp.
|
||||
|
||||
### Prueba de Conexión
|
||||
```bash
|
||||
# Verificar conexión a base de datos
|
||||
http://localhost/TP-Taller/ProyectoTaller/php/Test_Conexion.php
|
||||
```
|
||||
|
||||
## 🐛 Troubleshooting
|
||||
|
||||
### Error: "Error de conexión"
|
||||
- Verificar que MySQL esté corriendo
|
||||
- Revisar credenciales en `php/conexion.php`
|
||||
- Verificar que la base de datos existe
|
||||
|
||||
### Error: "Sesión expirada"
|
||||
- El usuario fue desconectado por inactividad
|
||||
- Volver a iniciar sesión
|
||||
|
||||
### Productos no se visualizan
|
||||
- Verificar que hay productos en la base de datos
|
||||
- Revisar permisos de usuario
|
||||
- Inspeccionar la consola de navegador para errores
|
||||
|
||||
### WhatsApp no envía mensajes
|
||||
- Verificar instalación de Python y Selenium
|
||||
- Verificar ruta a ChromeDriver
|
||||
- Revisar formato de número telefónico
|
||||
|
||||
## 📱 Integración WhatsApp
|
||||
|
||||
El sistema puede enviar notificaciones vía WhatsApp:
|
||||
- Códigos de verificación
|
||||
- Confirmaciones de reserva
|
||||
- Recordatorios
|
||||
|
||||
**Nota:** Requiere ChromeDriver y sesión activa de WhatsApp Web.
|
||||
|
||||
## 📄 Licencia
|
||||
|
||||
Proyecto privado para uso interno del Complejo Cap1tan.
|
||||
|
||||
---
|
||||
|
||||
**Última actualización:** Julio 2026
|
||||
**Versión:** 1.0
|
||||
Reference in New Issue
Block a user