%203.53.54%E2%80%AFp.m..png)
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