Aplicacion web desarrollada en PHP 8.4 como obligatorio de la materia Desarrollo de Aplicaciones Web.
El sistema permite la gestion de menus de un restaurante y la interaccion de clientes a traves de registro, login, favoritos y compras.
- Registro de usuario (roles: admin y cliente).
- Inicio de sesion.
- CRUD de menus (crear, modificar, eliminar, listar) - solo accesible para admin.
- Visualizacion de la lista de menus en la pagina principal.
- Agregar / quitar menus de favoritos.
- Ordenar menus por precio o alfabéticamente.
- Carrito de compras (agregar / quitar menus).
- Realizar una compra con envio de correo de confirmacion (usando PHPMailer).
- Historial de compras ordenado por fecha (mas recientes primero).
- PHP >= 8.4
- MySQL/MariaDB
- Servidor local (XAMPP, WAMP, Laragon o similar)
- Composer (opcional, si deseas reinstalar dependencias como PHPMailer)
- Crear una base de datos, por ejemplo
restaurante_db. - Importar el archivo
database.sqlincluido en el proyecto. - Esto generara las tablas:
usuarios(id, nombre, email, contrasenia, rol)menus(id, nombre, descripcion, precio, ingredientes)favoritos,carrito,compras(segun funciones extra)
Editar el archivo app/config/env.php con tus credenciales:
<?php
return [
'DB_HOST' => 'localhost',
'DB_NAME' => 'restaurante_db',
'DB_USER' => 'root',
'DB_PASS' => '',
'MAIL_HOST' => 'smtp.tuservidor.com',
'MAIL_USER' => 'correo@ejemplo.com',
'MAIL_PASS' => 'tu_clave',
'MAIL_PORT' => 587,
'MAIL_SECURE' => 'tls', // o 'ssl'
'MAIL_FROM_NAME' => 'Restaurante PHP'
];En la raiz del proyecto, ejecutar:
php -S localhost:8000Y acceder a:
http://localhost:8000
TallerPHP2025/
├── app/
│ ├── config/ # Configuracion de entorno (env.php)
│ ├── controllers/ # Logica de negocio (LoginController, MenuController, etc.)
│ ├── models/ # Acceso a base de datos
│ └── views/ # Plantillas HTML/PHP
├── public/ # Carpeta publica (index.php, assets)
├── vendor/ # Librerias externas (PHPMailer, etc.)
└── database.sql # Script para crear e inicializar la BD
La app usa PHPMailer para enviar emails de confirmacion de compra.
Configura correctamente MAIL_HOST, MAIL_USER y MAIL_PASS en env.php segun tu proveedor de correo (ej: Gmail, Outlook, etc.).
- Ezequiel Medina
- Camila Cancela
- Damaso Tor