# FRONTEND INVENTORY - ERP Mecánicas Diesel (Vertical) # Generado: 2025-12-08 # Actualizado: 2025-12-12 # Sistema: NEXUS + SIMCO v2.2.0 proyecto: nombre: ERP Mecanicas Diesel codigo: mecanicas-diesel nivel: 2B.2 (Vertical) estado: EN_DESARROLLO stack: framework: React 19.2.0 language: TypeScript 5.9.3 bundler: Vite 7.2.4 routing: React Router v6 state: Zustand forms: React Hook Form + Zod http: Axios query: TanStack Query (React Query) styling: Tailwind CSS v4.1 icons: Lucide React herencia_core: frontend: erp-core componentes_heredados: 80+ referencia: "apps/erp-core/frontend/" # ============================================================================= # SPRINT 1.2 - AUTH FRONTEND (COMPLETADO 2025-12-12) # ============================================================================= sprint_1_2: fecha: 2025-12-12 estado: COMPLETADO entregables: pages: - archivo: src/pages/Login.tsx descripcion: Página de login con formulario validado estado: IMPLEMENTADO features: - Validación con Zod - Conexión con API real - Manejo de errores - Link a registro - archivo: src/pages/Register.tsx descripcion: Página de registro de taller estado: IMPLEMENTADO features: - Registro de taller y admin - Validación completa - Confirmación de contraseña - Conexión con API services: - archivo: src/services/api/client.ts descripcion: Cliente Axios configurado estado: IMPLEMENTADO features: - Interceptor de auth token - Refresh token automático - Manejo de errores 401 - archivo: src/services/api/auth.ts descripcion: API de autenticación estado: IMPLEMENTADO endpoints: - login - register - logout - refreshToken - getProfile - changePassword store: - archivo: src/store/authStore.ts descripcion: Estado de autenticación (Zustand) estado: IMPLEMENTADO features: - Persistencia en localStorage - Actions: login, logout, updateUser, setToken routing: - ProtectedRoute: Rutas que requieren auth - PublicRoute: Rutas públicas (redirect si auth) # ============================================================================= # COMPONENTES IMPLEMENTADOS # ============================================================================= componentes_implementados: layout: - MainLayout (src/components/layout/MainLayout.tsx) - Sidebar (src/components/layout/Sidebar.tsx) - Header (src/components/layout/Header.tsx) pages: - Login (src/pages/Login.tsx) - Register (src/pages/Register.tsx) - Dashboard (src/pages/Dashboard.tsx) placeholders: - ServiceOrdersPage - DiagnosticsPage - InventoryPage - VehiclesPage - QuotesPage - SettingsPage # ============================================================================= # RUTAS CONFIGURADAS # ============================================================================= rutas: publicas: - /login - /register protegidas: - / (redirect a /dashboard) - /dashboard - /orders - /orders/:id - /diagnostics - /diagnostics/:id - /inventory - /inventory/:id - /vehicles - /vehicles/:id - /quotes - /quotes/:id - /settings # ============================================================================= # COMPONENTES PLANIFICADOS (PROXIMOS SPRINTS) # ============================================================================= componentes_planificados: ordenes_trabajo: - WorkOrderList - WorkOrderForm - WorkOrderDetail - ServiceTypeSelector clientes_vehiculos: - CustomerList - CustomerForm - VehicleList - VehicleForm - VehicleServiceHistory inventario: - SparePartList - SparePartSearch - CompatibilityMatrix cotizaciones: - QuotationForm - QuotationList facturacion: - InvoiceGenerator usuarios: - UserList - UserForm - UserRoleSelector # ============================================================================= # RESUMEN # ============================================================================= resumen: componentes_implementados: 9 pages_implementadas: 3 rutas_configuradas: 15 componentes_planificados: 15 estado_general: EN_DESARROLLO typecheck: PASS ultima_actualizacion: 2025-12-12 # ============================================================================= # CONFIGURACION # ============================================================================= configuracion: api_url: "http://localhost:3011/api/v1" env_file: ".env.example" puerto_dev: 5175 referencias: herencia_core: "../00-guidelines/HERENCIA-ERP-CORE.md" backend_inventory: "BACKEND_INVENTORY.yml"