📌 Introducción
En este artículo te comparto un código fuente funcional de un sistema de restaurante en Java, ideal para aprender sobre programación orientada a objetos, conexión con bases de datos, e interfaces gráficas con Swing o JavaFX.
🧱 Funcionalidades del sistema
- Registro de productos del menú
- Gestión de pedidos y facturación
- Interfaz gráfica para tomar pedidos
- Base de datos MySQL
- Impresión de boletas (opcional)
🗃️ Estructura de la Base de Datos (MySQL)
CREATE TABLE productos (
id INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100),
precio DECIMAL(10,2)
);
CREATE TABLE pedidos (
id INT AUTO_INCREMENT PRIMARY KEY,
fecha DATETIME,
total DECIMAL(10,2)
);
CREATE TABLE detalle_pedido (
id INT AUTO_INCREMENT PRIMARY KEY,
id_pedido INT,
id_producto INT,
cantidad INT,
FOREIGN KEY (id_pedido) REFERENCES pedidos(id),
FOREIGN KEY (id_producto) REFERENCES productos(id)
);
👨💻 Fragmento del código en Java (registro de producto)
public void agregarProducto(String nombre, double precio) {
String sql = "INSERT INTO productos (nombre, precio) VALUES (?, ?)";
try (PreparedStatement stmt = conn.prepareStatement(sql)) {
stmt.setString(1, nombre);
stmt.setDouble(2, precio);
stmt.executeUpdate();
System.out.println("Producto agregado.");
} catch (SQLException e) {
e.printStackTrace();
}
}
🖥️ Interfaz gráfica
- Menú con botones para registrar producto
- Tabla para mostrar pedidos en curso
- Campos para ingresar cantidad y calcular totales
- Diseño limpio con Java Swing o JavaFX
📁 Archivos incluidos en el proyecto
- Código fuente en
.java
- Base de datos
.sql
- Librerías JDBC
- Documentación comentada
💡 Ideas de mejora
- Agregar autenticación de usuarios (meseros y administrador)
- Reportes diarios o mensuales
- Exportar a PDF