Gestión de Pedidos para Restaurantes con Python + Flask + HTML

- Si es de tu interés este artículo, apoyanos compartiendo en tus redes sociales favoritas y de esa manera también incentivando a tus amigos que crees les pueda interesar a que nos lean.


 Gestión de Pedidos para Restaurantes con Python + Flask + HTML






La gestión eficiente de pedidos es crucial en cualquier restaurante. Este proyecto proporciona un Sistema de Gestión de Pedidos para Restaurantes, desarrollado con Python y Flask, que permite registrar pedidos, gestionar un catálogo de platos y generar facturas en formato PDF.

A diferencia de sistemas tradicionales, este almacena los pedidos y el catálogo de platos en archivos de texto (pedidos.txt y platos.txt), simplificando su mantenimiento y evitando la necesidad de una base de datos compleja.


Tecnologías Utilizadas

Para el desarrollo del sistema, se han utilizado las siguientes tecnologías:

  • Python 3: Lenguaje de programación principal.

  • Flask: Framework ligero para el desarrollo web.

  • HTML + CSS: Para la interfaz de usuario moderna y responsiva.

  • Bootstrap (opcional): Para mejorar el diseño y usabilidad.

  • ReportLab: Para generar facturas en PDF.

  • Archivos de texto (.txt): Para el almacenamiento de pedidos y catálogo de platos.



Características del Sistema

✅ Registro de pedidos con selección de platos desde un catálogo.
✅ Cálculo automático del total del pedido.
✅ Gestión del catálogo de platos con precios.
✅ Generación de facturas en PDF para cada pedido.
✅ Interfaz web moderna y fácil de usar.
✅ Almacenamiento de datos en archivos de texto (pedidos.txt y platos.txt).



Estructura del Proyecto

📂 Ubicación del Proyecto: Documentos/python/PedidosRestaurant

PedidosRestaurant/
│── app.py                # Archivo principal de la aplicación Flask
│── templates/
│   ├── index.html        # Página para registrar pedidos
│   ├── pedidos.html      # Página que muestra la lista de pedidos
│   ├── agregar_plato.html # Página para agregar nuevos platos
│── static/
│   ├── styles.css        # Archivo CSS con diseño moderno
│── pedidos.txt           # Archivo donde se almacenan los pedidos
│── platos.txt            # Archivo donde se almacenan los platos y precios


Código Fuente

📌 Archivo Principal: app.py

from flask import Flask, render_template, request, redirect, url_for, send_file
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
import os

app = Flask(__name__)

# Rutas de archivos
PEDIDOS_ARCHIVO = "pedidos.txt"
PLATOS_ARCHIVO = "platos.txt"
CARPETA_PDF = "static/pdfs/"

if not os.path.exists(CARPETA_PDF):
    os.makedirs(CARPETA_PDF)

# Función para leer los platos
...

(El código completo está disponible en el proyecto)



📌 Formulario de Registro de Pedidos: templates/index.html

<form action="/agregar_pedido" method="POST">
    <input type="text" name="cliente" placeholder="Nombre del Cliente" required>
    <select name="plato" required>
        {% for nombre, precio in platos.items() %}
        <option value="{{ nombre }}">{{ nombre }} - ${{ precio }}</option>
        {% endfor %}
    </select>
    <input type="number" name="cantidad" placeholder="Cantidad" required>
    <button type="submit">Registrar Pedido</button>
</form>


📌 Gestión de Platos: templates/agregar_plato.html

<form action="/agregar_plato" method="POST">
    <input type="text" name="nombre" placeholder="Nombre del Plato" required>
    <input type="text" name="precio" placeholder="Precio del Plato" required>
    <button type="submit">Agregar Plato</button>
</form>


Conclusión

Este sistema proporciona una solución simple y efectiva para la gestión de pedidos en restaurantes. Con un diseño intuitivo y almacenamiento basado en archivos de texto, facilita la operación sin necesidad de bases de datos complejas. Además, la generación de facturas en PDF añade un nivel adicional de funcionalidad. 🚀


No hay comentarios