Closed
Conversation
…ress) Este commit agrega un sistema completo de gestión de inventario para tiendas minoristas con las siguientes características: MODELOS DE DATOS: - User: Extendido con campo 'role' (administrador, vendedor, auxiliar) - Category: Categorización de productos - Product: Catálogo con SKU único, precios, stock actual y mínimo - InventoryMovement: Registro de entradas, salidas, ajustes y devoluciones - Alert: Alertas automáticas de stock bajo FUNCIONALIDADES PRINCIPALES: - Sistema de roles con permisos diferenciados - CRUD completo para categorías y productos - Movimientos de inventario con actualización automática de stock - Generación automática de alertas cuando stock ≤ stock mínimo - Kardex (historial completo de movimientos por producto) - Reportes exportables (inventario, ventas, compras) en JSON y CSV - Validación de SKU único y stock no negativo - Transacciones atómicas para consistencia de datos API ENDPOINTS (33 nuevos endpoints): - /categories: CRUD de categorías - /products: CRUD de productos con filtros avanzados - /inventory-movements: Entradas, salidas y ajustes - /alerts: Gestión de alertas con resolución automática/manual - /kardex: Consulta de movimientos por producto - /reports: Reportes de inventario, ventas y compras (JSON + CSV) SEGURIDAD Y PERMISOS: - Administrador: Control total del sistema - Vendedor: Registrar ventas, consultar existencias - Auxiliar: Registrar compras, ajustes, conteos VALIDACIONES: - SKU único (unique constraint + validación en CRUD) - Stock siempre >= 0 - Precios siempre > 0 - Movimientos inmutables (no se pueden editar ni eliminar) - Campos requeridos según tipo de movimiento OPTIMIZACIONES: - Índices en campos críticos (SKU, category_id, stock levels, dates) - Actualización de stock < 1 segundo - Sin N+1 queries - Paginación en todos los listados DOCUMENTACIÓN: - INVENTORY_DATABASE_SCHEMA.md: Esquema completo de base de datos - INVENTORY_SYSTEM_README.md: Documentación de uso y API - REQUIREMENTS_VALIDATION.md: Validación de requisitos funcionales MIGRACIÓN DE BASE DE DATOS: - Alembic migration: 2025102701_add_inventory_management_system - Agrega tablas: category, product, inventorymovement, alert - Agrega columna 'role' a tabla user - Incluye constraints, índices y validaciones ARCHIVOS MODIFICADOS: - backend/app/models.py: +384 líneas (modelos de inventario) - backend/app/crud.py: +380 líneas (CRUD con lógica de negocio) - backend/app/api/deps.py: +66 líneas (permisos por roles) - backend/app/api/main.py: Registro de 6 nuevos routers ARCHIVOS NUEVOS: - backend/app/api/routes/categories.py (118 líneas) - backend/app/api/routes/products.py (168 líneas) - backend/app/api/routes/inventory_movements.py (250 líneas) - backend/app/api/routes/alerts.py (119 líneas) - backend/app/api/routes/kardex.py (109 líneas) - backend/app/api/routes/reports.py (475 líneas) - backend/app/alembic/versions/2025102701_*.py (migración) CUMPLIMIENTO DE REQUISITOS: ✅ RF-01: Registro de productos con SKU único ✅ RF-02: Actualización automática de inventario ✅ RF-03: Alertas automáticas de stock bajo ✅ RF-04: Reportes exportables (CSV) ✅ RF-05: Autenticación y roles diferenciados ✅ RF-06: Administradores gestionan usuarios ✅ RF-07: Visualización en tiempo real ✅ R11: Actualización < 1 segundo ✅ R12: Seguridad (JWT, permisos, HTTPS) TODOS LOS CASOS DE USO Y HISTORIAS DE USUARIO IMPLEMENTADOS (Ver REQUIREMENTS_VALIDATION.md) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.