Fecha: 2025-06-29 18:47:50 Estado: Funcional con módulos principales implementados
Sistema de gestión de almacén (WMS) que integra una API SAP-STL personalizada con base de datos Firebird local. El sistema cuenta con autenticación JWT, roles de usuario, sincronización de datos en tiempo real y una interfaz moderna con diseño cream/pastel.
- Framework: FastAPI (Python 3.12)
- Base de Datos: Firebird 2.5 (externa en
C:\App\STL\Datos\DATOS_STL.FDB) - Autenticación: JWT con roles (ADMINISTRADOR/OPERADOR)
- API Externa: SAP-STL (https://dependent-vehicle-victory-por.trycloudflare.com)
- Contenedor: Docker con acceso a BD externa vía host.docker.internal
- Framework: Next.js 14.0.4 con TypeScript
- UI Library: Tailwind CSS + shadcn/ui
- Estado: React hooks + API calls con Axios
- Tema: Sistema cream/pastel con soporte dark mode
- Contenedor: Docker con Node.js 18 Alpine
/home/rasaliad/app/stlw/
├── docker-compose.yml
├── backend/
│ ├── app/
│ │ ├── main.py
│ │ ├── core/
│ │ │ ├── config.py (configuración y variables de entorno)
│ │ │ ├── database.py (conexión Firebird)
│ │ │ └── security.py (JWT y hashing)
│ │ ├── api/
│ │ │ ├── routes.py (router principal)
│ │ │ ├── deps.py (dependencias de autenticación)
│ │ │ └── endpoints/
│ │ │ ├── auth.py
│ │ │ ├── users.py
│ │ │ ├── dispatches.py
│ │ │ ├── goods_receipts.py
│ │ │ └── items.py
│ │ ├── models/
│ │ │ └── user.py
│ │ ├── services/
│ │ │ ├── user_service.py
│ │ │ ├── sap_stl_client.py
│ │ │ └── sap_stl_sync_service.py
│ │ └── routers/
│ │ └── sap_stl.py
│ └── Dockerfile
└── frontend/
├── src/
│ ├── app/
│ │ ├── layout.tsx
│ │ ├── page.tsx (login)
│ │ ├── dashboard/page.tsx
│ │ ├── productos/page.tsx
│ │ ├── despachos/page.tsx
│ │ ├── recepciones/page.tsx
│ │ ├── usuarios/page.tsx
│ │ └── configuracion/page.tsx
│ ├── components/
│ │ ├── app-layout.tsx (sidebar fijo + header sticky)
│ │ ├── sidebar.tsx
│ │ └── user-table.tsx
│ └── lib/
│ └── api.ts (cliente axios configurado)
└── Dockerfile
- USERS: id, username, email, hashed_password, is_active, role, created_at, updated_at
- STL_ITEMS: 616 productos sincronizados
- STL_DISPATCHES: 43 despachos con sync_status
- STL_DISPATCH_LINES: 407 líneas de detalle
- STL_GOODS_RECEIPTS: 22 recepciones
- STL_GOODS_RECEIPT_LINES: 48 líneas de detalle
- STL_SYNC_CONFIG: Configuración de sincronización por entidad
- STL_SYNC_LOG: Registro de operaciones de sincronización
- Login con JWT tokens
- Roles: ADMINISTRADOR y OPERADOR
- Protección de rutas por rol
- Logout y manejo de sesiones
- Vista general del sistema
- Estadísticas en tiempo real
- Accesos rápidos a módulos
- CRUD completo (Crear, Leer, Actualizar, Eliminar)
- Asignación de roles
- Activar/Desactivar usuarios
- Búsqueda y filtros
- Lista de 43 despachos reales
- Vista expandible con líneas de detalle
- Filtros por cliente y fechas
- Sincronización manual
- Estadísticas: Total, Hoy, Clientes únicos, Productos
- Lista de 22 recepciones con líneas
- Filtros por suplidor y fechas
- Vista expandible de productos recibidos
- Estadísticas: Total, Hoy, Suplidores únicos, Productos
- Catálogo de 616 productos
- Búsqueda por código/descripción
- Filtro por familia
- Paginación (50 productos/página)
- Información: código, descripción, familia, UMB, embalaje, días vencimiento
- Gestión de tiempos de sincronización
- Configuración por tipo de entidad
- Modo simulación on/off
- Estado de conexión API
SECRET_KEY=your-secret-key-change-in-production
FIREBIRD_HOST=host.docker.internal
FIREBIRD_PORT=3050
FIREBIRD_DATABASE=C:\\App\\STL\\Datos\\DATOS_STL.FDB
FIREBIRD_USER=sysdba
FIREBIRD_PASSWORD=masterkey
SAP_STL_URL=https://dependent-vehicle-victory-por.trycloudflare.com
SAP_STL_USERNAME=STLUser
SAP_STL_PASSWORD=7a6T9IVeUdf5bvRIv
USE_MOCK_SAP_DATA=false- admin / admin123 (ADMINISTRADOR)
- 00107036006 / [contraseña] (OPERADOR)
# Iniciar sistema
docker-compose up -d
# Ver logs
docker-compose logs -f
# Reiniciar servicios
docker-compose restart
# Reconstruir sin caché
docker-compose build --no-cache
docker-compose up -d
# Conectar a base de datos desde backend
docker-compose exec backend python
>>> from app.core.database import FirebirdConnection
>>> db = FirebirdConnection()- Autenticación fallida: Creación de archivo deps.py faltante
- Role validation error: Agregado campo ROLE a tabla USERS
- Sincronización 2 registros: Desactivado modo mock para usar API real
- CORS errors: Configuración correcta en backend
- Endpoint 404 sync: Cambio de GET a POST y ajuste de rutas
- Campos incorrectos BD: Mapeo correcto RECEIPT_ID, CANTIDAD vs campos esperados
- Cache navegador: Múltiples rebuilds y limpieza de caché
- Resolver error 403 en sync-config endpoint
- Arreglar DialogTitle warning en componentes
- Implementar sincronización automática por tiempo
- Funcionalidad de exportación de datos
- Módulo de reportes y analytics
- Notificaciones en tiempo real
- Logs de auditoría detallados
- Tema cream/pastel consistente
- Sidebar fijo con scroll independiente
- Header sticky
- Tablas expandibles para ver detalles
- Modo claro/oscuro
- Diseño responsivo
- Animaciones suaves
- Iconos Lucide React
El sistema está completamente funcional con:
- ✅ Autenticación y autorización funcionando
- ✅ Todos los módulos principales implementados
- ✅ Sincronización con API real (43 despachos, 22 recepciones, 616 productos)
- ✅ Interfaz de usuario completa y navegable
- ✅ Base de datos conectada y sincronizada
- ✅ Docker compose configurado y funcionando
URLs de Acceso:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
Generado automáticamente por el sistema STL