Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TallerPHP2025 Aplicacion Web para Restaurante

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.


Funcionalidades

Requisitos obligatorios

  • 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.

Requisitos opcionales implementados

  • 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).

Configuracion del entorno

1. Requisitos previos

  • PHP >= 8.4
  • MySQL/MariaDB
  • Servidor local (XAMPP, WAMP, Laragon o similar)
  • Composer (opcional, si deseas reinstalar dependencias como PHPMailer)

2. Base de datos

  1. Crear una base de datos, por ejemplo restaurante_db.
  2. Importar el archivo database.sql incluido en el proyecto.
  3. Esto generara las tablas:
    • usuarios (id, nombre, email, contrasenia, rol)
    • menus (id, nombre, descripcion, precio, ingredientes)
    • favoritos, carrito, compras (segun funciones extra)

3. Configuracion del sistema

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'
];

4. Iniciar servidor

En la raiz del proyecto, ejecutar:

php -S localhost:8000

Y acceder a:
http://localhost:8000


Estructura del proyecto

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

Envio de correos

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.).


Demo

Enlace al video de la demo


Autores

  • Ezequiel Medina
  • Camila Cancela
  • Damaso Tor

About

Programa basado en restaurantes para la materia Programación Web con PHP

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages