8.3 KiB
Sistema Web - La Pecosa Rotisería
Sistema web para la rotisería La Pecosa (Paraná, Entre Ríos). El proyecto está compuesto por un sitio público donde los clientes pueden ver el catálogo de productos y armar un pedido, y un panel de administración para la gestión interna del negocio (productos, categorías, pedidos y copias de seguridad).
Tecnologías
- Backend: PHP 8.x
- Base de datos: MySQL / MariaDB
- Frontend: HTML5, CSS3 y JavaScript
- Servidor de desarrollo: Apache (XAMPP, WampServer o Laragon)
- Control de versiones: Git
Estructura del proyecto
pecosa/
├── index.php Página principal del sitio público
├── productos.php Catálogo de productos y armado del pedido
├── carrito.php Carrito de compras
├── gestionar_carrito.php Lógica para agregar, quitar y actualizar ítems del carrito
├── formulario_entrega.php Datos de entrega del pedido
├── procesar_pago.php Procesamiento del pago / confirmación del pedido
├── verificar_promo.php Validación de promociones existentes (duración 24hs)
├── login.php Inicio de sesión de usuarios
├── registro.php Registro de nuevos usuarios
├── recuperar_contraseña.php Recuperación de contraseña
├── logout.php Cierre de sesión
├── captcha.php Generación del captcha de seguridad
├── ayuda.php Página de ayuda del sitio público
├── privacidad.php Política de privacidad
├── consultar_bot.php Endpoint del asistente virtual / chatbot
├── importar_csv.php Importación de productos desde CSV
├── productos.csv Archivo de ejemplo para la carga masiva de productos
├── script.js Lógica de interfaz del sitio (carrito, slider, etc.)
├── diseño.css Estilos generales del sitio público
├── db.php Conexión a la base de datos
├── config_example.php Plantilla de configuración (copiar a config.php)
├── config.php Configuración real (no se versiona)
├── css Archivos descargados en la carpeta .zip de font awesome
├── all.min.css
├── ... el resto de archivos descargados en la carpeta .zip de font awesome
├── webfonts Archivos descargados en la carpeta .zip de font awesome
│
├── admin/ Panel de administración
│ ├── dashboard.php Tablero principal del panel
│ ├── sidebar.php Menú lateral del panel
│ ├── inventario.php Gestión de productos y stock
│ ├── pedidos.php Listado y seguimiento de pedidos
│ ├── cambiar_estado.php Actualización del estado de un pedido
│ ├── procesar_manual.php Carga manual de pedidos
│ ├── ver_detalle.php Detalle de un pedido
│ ├── obtener_detalle.php Consulta de datos de un pedido
│ ├── imprimir_ticket.php Generación del ticket de un pedido
│ ├── buscar_clientes.php Búsqueda de clientes en sección Pedidos activos
│ ├── promo.php Gestión de promociones
│ ├── chart.js Archivo para generación de tablas de artículos más vendidos
│ ├── importar_csv.php Importación de productos desde CSV (admin)
│ ├── asistente.php Configuración del asistente virtual
│ ├── ayuda_admin.php Ayuda del panel de administración
│ ├── backup.php Generación de copias de seguridad
│ ├── descargar_file.php Descarga de archivos y respaldos
│ ├── admin_style.css Estilos del panel de administración
│ ├── backups_files/ Copias de seguridad de la base de datos (.zip)
│ └── comprobantes/ Comprobantes generados por el sistema
│
├── imagenes/ Recursos gráficos del sitio (logo, banners, etc.)
├── img/ Imágenes de productos
├── logs-sistema-lapecosa/ Registros de actividad del sistema
└── README.md
Requisitos previos
Antes de comenzar, asegúrate de tener instalado en tu entorno local:
- Un servidor local con soporte para PHP 8.x y MySQL/MariaDB (XAMPP, WampServer o Laragon).
- Git.
- Un editor de código (por ejemplo, Visual Studio Code).
1. Clonar el proyecto
Abre la terminal (o Git Bash) en la carpeta pública de tu servidor local y ejecuta:
git clone https://github.com/brisagarcia03/Proyecto-TI.git pecosa
Reemplaza la URL por la de tu repositorio. Luego ingresa a la carpeta del proyecto:
cd pecosa
2. Configuración de la conexión
El proyecto incluye un archivo de ejemplo con la configuración de la base de datos. Para activarlo:
- Ubica el archivo
config_example.phpen la raíz del proyecto. - Haz una copia y renómbrala como
config.php. - Abre
config.phpcon tu editor y completa los datos de tu servidor local:
<?php
// Configuración de la base de datos
define('DB_HOST', 'localhost');
define('DB_USER', 'root'); // Usuario por defecto
define('DB_PASS', ''); // Contraseña por defecto (vacía)
define('DB_NAME', 'lapecosa'); // Nombre de la base de datos
// Configuración de la API Resend
define('RESEND_API_KEY', 'tu_resend_api_key_aqui'); //Genera tu propia key y pégala acá
define('RESEND_FROM', 'onboarding@resend.dev');
El archivo db.php utiliza estos valores para establecer la conexión con la base de datos, por lo que no es necesario modificarlo: basta con completar config.php.
3. Importar la base de datos
El proyecto incluye un respaldo de la base de datos dentro del panel administrativo.
- Inicia Apache y MySQL desde el panel de control de tu servidor.
- Ingresa a phpMyAdmin desde el navegador:
http://localhost/phpmyadmin/. - Crea una base de datos nueva con el nombre definido en
config.phpcon el cotejamientoutf8mb4_general_ci. - Selecciona la base de datos recién creada en la barra lateral.
- Abre la pestaña Importar.
- En Seleccionar archivo, elige el volcado SQL ubicado en:
admin/backups_files/[nombre_del_archivo].zip - Confirma con el botón Importar.
4. Ejecutar el proyecto
Con el proyecto clonado, config.php configurado y la base de datos importada, ya podés acceder:
- Sitio público:
http://localhost/pecosa/index.php - Panel de administración:
http://localhost/pecosa/admin/
Credenciales de acceso
El panel de administración requiere iniciar sesión. Las credenciales se encuentran en la tabla de usuarios de la base de datos importada.
- Usuario por defecto: usuario@gmail.com
- Contraseña por defecto: usuario123
Funcionalidades principales
Sitio público:
- Catálogo de productos con imágenes, precios, detalle individual y control de stock.
- Carrito de compras con agregado, modificación y eliminación de ítems.
- Aplicación y verificación de promociones.
- Formulario de entrega, procesamiento del pedido y confirmación del pago.
- Registro de usuarios, inicio de sesión, cierre de sesión y recuperación de contraseña.
- Captcha de seguridad en los formularios.
- Asistente virtual / chatbot de consultas.
- Importación de productos mediante archivos CSV.
Panel de administración:
- Tablero principal con acceso a las distintas secciones de gestión.
- Gestión de inventario (alta, edición y control de stock de productos).
- Administración de pedidos: listado, cambio de estado, carga manual e impresión de tickets.
- Búsqueda de clientes y gestión de promociones.
- Configuración del asistente virtual.
- Generación y descarga de copias de seguridad de la base de datos.
- Registro de actividad del sistema mediante logs.
Solución de problemas frecuentes
- Pantalla en blanco o error de conexión: revisa que los datos de
config.phpcoincidan con los de tu servidor y que MySQL esté activo. - No se ven imágenes o estilos: confirma que la carpeta del proyecto se llame
pecosay que la URL incluya esa ruta exacta. - Error al importar el SQL: verifica que la base de datos exista y use el cotejamiento
utf8mb4_general_ciantes de importar.