Skip to content

josearpa123/Sistema-de-gestion-de-ventas-y-repostes

Repository files navigation

🛒 Sistema de Gestión de Inventario y Ventas

Un sistema modular de gestión de inventario y ventas, diseñado para manejar productos, registrar ventas, configurar opciones globales y generar reportes de forma eficiente. 📋 Características del Proyecto

Gestión de Inventario:
    Agrega, actualiza, elimina y busca productos.
    Control de integridad: asegura IDs únicos para los productos.
    Control de stock: evita ventas si el stock es insuficiente.

Gestión de Ventas:
    Registra ventas calculando el total automáticamente.
    Evita duplicados al asegurar IDs únicos en cada venta.
    Identifica el producto más vendido y permite listar todas las ventas.

Generación de Reportes:
    Reporte de productos bajo stock.
    Reporte mensual de ventas.

Configuración Global:
    Configura idioma, tema y formato de impresión de reportes para la aplicación.

📐 Patrones de Diseño Utilizados Patrón Descripción Singleton ConfiguracionGlobal utiliza este patrón para garantizar una única instancia global de la configuración. Builder ReporteBuilder permite una creación paso a paso de reportes personalizados. Director ReporteDirector organiza y dirige la construcción de reportes mediante el builder. 📁 Estructura del Proyecto

📦 Proyecto Inventario y Ventas ├── main.py # Punto de entrada principal ├── configuracion_global.py # Configuración global (Singleton) ├── inventario.py # Gestión de inventario ├── gestion_ventas.py # Gestión de ventas └── reportes.py # Generación de reportes (Builder y Director)

Descripción de Módulos

configuracion_global.py: Administra la configuración global (idioma, tema, formato de reportes).
inventario.py: Define la clase Inventario para agregar, actualizar, eliminar y buscar productos.
gestion_ventas.py: Define la clase GestionVentas para registrar ventas y consultar el producto más vendido.
reportes.py: Contiene ReporteBuilder y ReporteDirector para crear reportes personalizados.

🚀 Ejecución del Proyecto

Asegúrate de tener Python 3.x instalado. Luego, en la terminal, ejecuta:

python main.py

📌 Menú Principal

Configuración Global: Configura idioma, tema y formato de reportes.
Gestión de Inventario: Agrega, actualiza y consulta productos.
Gestión de Ventas: Registra ventas y consulta productos más vendidos.
Generación de Reportes: Crea reportes de inventario bajo y ventas mensuales.
Salir: Cierra la aplicación.

🎬 Ejemplo de Flujo de Trabajo

Configuración Global:
    Configura idioma, tema y formato de impresión.

Gestión de Inventario:
    Agrega productos con IDs únicos y consulta stock.
    Actualiza productos según las necesidades del inventario.

Gestión de Ventas:
    Registra ventas validando que haya suficiente stock.
    Consulta el historial de ventas y el producto más vendido.

Generación de Reportes:
    Reporte de inventario bajo stock.
    Reporte mensual de ventas.

📈 Recomendaciones y Mejoras Futuras

Persistencia de Datos: Implementar una base de datos para hacer persistente el inventario y las ventas.

Interfaz Gráfica: Desarrollar una GUI para una experiencia de usuario más intuitiva.

Automatización de Reportes: Generación automática de reportes (diarios, semanales, mensuales).

✨ Resumen

Este sistema es modular y está optimizado con patrones de diseño que aseguran una estructura limpia y eficiente. Perfecto para la gestión de inventario y ventas en pequeños negocios. 🛠️ Requerimientos

Python 3.x
Ejecución del script principal: python main.py

📜 Licencia

Este proyecto es de código abierto y está disponible bajo la licencia MIT.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages