ferreteria-pos GitHub Details, Stars and Alternatives | OpenRepoFinder
wanglingtech / repository
ferreteria-pos
📊 ERP & POS Full Stack – Sistema integral para la gestión de ventas, inventario, clientes y análisis en tiempo real. Stack: Angular · Ionic · Node.js · Express · PostgreSQL. Arquitectura modular y escalable.
A transparent discovery signal based on current public GitHub metadata.
Recent activity35% weight
100
Community adoption25% weight
5
Maintenance state20% weight
100
License clarity10% weight
0
Project information10% weight
75
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
README preview
📖 Descripción General
Ferretería July es un sistema empresarial completo, diseñado para optimizar la gestión de ventas, inventario y operaciones de una ferretería. Es un proyecto académico desarrollado como parte del curso de Programación de Aplicaciones Móviles, tomando como caso de estudio una ferretería para diseñar e implementar una solución integral de gestión empresarial, este software busca resolver problemas cotidianos como la falta de control de stock, la gestión manual de ventas y la ausencia de métricas en tiempo real.
El sistema ofrece una experiencia unificada: desde un Punto de Venta (POS) ágil e intuitivo hasta un potente panel de control con gráficos y alertas automatizadas, todo construido sobre una arquitectura moderna y escalable.
✨ Funcionalidades Principales
📈 Dashboard Ejecutivo: Visualiza en tiempo real las métricas más importantes del negocio: ventas del día, ticket promedio, y productos más vendidos.
🧾 Punto de Venta (POS): Interfaz rápida para registrar ventas, gestionar carrito de compras, administrar clientes y generar comprobantes descargables en PDF o imagen con un solo clic.
🏷️ Gestión de Inventario: Controla el stock con alertas automáticas de bajo inventario, gestiona categorías y productos, y lleva un historial de movimientos.
👥 Gestión de Usuarios y Roles: Sistema de autenticación seguro con roles de Administrador y Vendedor, permitiendo control granular de accesos y permisos.
📊 Centro de Reportes y Análisis: Genera reportes de ventas por fechas, visualiza gráficos de evolución, exporta a CSV/PDF y consulta los productos más vendidos.
🤖 Asistente Inteligente (Chatbot): Desarrollo de un chatbot basado en reglas y procesamiento de comandos, capaz de responder consultas relacionadas con ventas, inventario, clientes, reportes y métricas del sistema utilizando información almacenada en la base de datos.
🔄 Actualizaciones en Tiempo Real: La información de inventario, ventas y reportes se actualiza de manera automática, reflejando cambios sin necesidad de recargar la página.
🛠️ Tecnologías Utilizadas
Frontend
Angular 18 con Ionic 8: Para una aplicación web/móvil híbrida de alto rendimiento.
Chart.js: Para visualización de datos y gráficos analíticos.
SCSS: Estilos avanzados con diseño responsivo y temas personalizados.
Backend
Node.js con Express: API REST robusta y escalable.
Prisma ORM: Para una interacción segura y tipada con la base de datos.
PostgreSQL: Base de datos relacional confiable y potente.
JWT (JSON Web Tokens): Para autenticación segura de usuarios.
Funcionalidades Extra
WebSockets (Socket.IO): Para comunicación en tiempo real y actualizaciones automáticas.
JSPDF & HTML2Canvas: Para la generación de reportes y facturas en PDF e imagen.
TypeScript: Tipado estático y código más mantenible.
🚀 Instalación y Configuración
Sigue estos pasos para levantar el proyecto en tu entorno local.
Prerrequisitos
Node.js (versión 18+)
npm o yarn
PostgreSQL (versión 14+)
1. Clonar el repositorio
git clone https://github.com/wangling941/ferreteria-july.git
cd ferreteria-july
1. Configurar la Base de Datos
Crea una base de datos PostgreSQL llamada ferreteria_july_db.
Copia el archivo de entorno y configura las variables:
cp backend/.env.example backend/.env
Edita el archivo .env con tus credenciales de base de datos.
2. Instalar Dependencias e Inicializar la Base de Datos
bash
Instalar dependencias del backend
cd backend
npm install
npx prisma generate
npx prisma migrate dev --name init
Instalar dependencias del frontend
cd ../frontend/ferreteriaApp
npm install
3.Iniciar la Aplicación
Iniciar el backend:
cd backend
npm run dev
Iniciar el frontend:
cd frontend/ferreteriaApp
ionic serve
🏗️ Arquitectura del Proyecto
El sistema está construido bajo una Screaming Architecture y Clean Architecture Simplificada, separando el código en capas bien definidas para garantizar mantenibilidad y escalabilidad. Mientras que Clean Architecture provee las reglas técnicas de desacoplamiento y dirección de dependencias, Screaming Architecture define cómo debe organizarse visualmente el proyecto para que la estructura de carpetas refleje el negocio (las intenciones del sistema) y no las herramientas técnicas.
🤝 Contribuciones
¡Gracias por tu interés en este proyecto!
Si encuentras un error, tienes una sugerencia o deseas proponer una mejora, puedes:
Abrir un Issue describiendo el problema o la idea.
Hacer un Fork del repositorio y enviar un Pull Request con tus cambios.
Todas las contribuciones serán revisadas antes de ser integradas al proyecto.
Si este proyecto te resultó útil o te sirvió como referencia, considera darle una ⭐ al repositorio. ¡Gracias por tu apoyo!