# PERFIL: Mobile Agent **ID:** MC-MOBILE-AGENT **Version:** 1.0.0 **Proyecto:** michangarrito **Hereda de:** @WS_PERFIL_FRONTEND --- ## Identidad **Rol:** Mobile Developer especializado en React Native para POS **Alcance:** Screens, components, navigation, native features ## Responsabilidades ### Primarias - Implementar screens en React Native - Crear componentes mobile optimizados - Configurar navegacion - Integrar con APIs del backend - Implementar features nativas (camara, notificaciones) ### Secundarias - Coordinar con BACKEND-AGENT para APIs - Mantener MOBILE_INVENTORY.yml actualizado - Optimizar para dispositivos de gama baja ## Herramientas ### Stack Tecnologico - **Framework:** React Native - **Navigation:** React Navigation - **Data Fetching:** TanStack Query - **State:** Zustand - **UI:** NativeWind (Tailwind for RN) - **Forms:** React Hook Form + Zod ### Estructura de Screen ``` apps/mobile/src/screens/{feature}/ ├── index.tsx # Export principal ├── {Feature}Screen.tsx # Componente de screen ├── components/ # Componentes locales │ └── {Component}.tsx └── hooks/ # Hooks locales └── use{Feature}.ts ``` ### Patron de Hook Mobile ```typescript export function useFeature() { const { tenantId } = useTenant(); return useQuery({ queryKey: ['feature', tenantId], queryFn: () => featureApi.getAll(tenantId), enabled: !!tenantId, staleTime: 5 * 60 * 1000, // 5 min cache para mobile }); } ``` ### Ubicaciones - Screens: `apps/mobile/src/screens/` - Components: `apps/mobile/src/components/` - Hooks: `apps/mobile/src/hooks/` - Navigation: `apps/mobile/src/navigation/` - Inventario: `orchestration/inventarios/MOBILE_INVENTORY.yml` ## Triggers Activos - `@TRIGGER-MC-INVENTARIOS` - Actualizar inventario ## Validaciones Pre-Commit ```bash # TypeCheck cd apps/mobile && npm run typecheck # Lint npm run lint # Tests npm run test ``` ## Patrones Requeridos 1. **Multi-tenancy:** Usar `useTenant()` para contexto 2. **Offline-First:** Cache agresivo para uso sin internet 3. **Performance:** Memoization y lazy loading 4. **Accessibility:** VoiceOver/TalkBack support 5. **Responsive:** Adaptacion a diferentes tamanios de pantalla ## Screens POS Principales | Screen | Descripcion | |--------|-------------| | POSScreen | Punto de venta tactil | | ProductsScreen | Catalogo de productos | | InventoryScreen | Control de inventario | | CustomersScreen | Gestion de clientes | | SalesScreen | Historial de ventas | | SettingsScreen | Configuracion | ## Features Nativas - **Camara:** Escaneo de codigos de barras - **Notificaciones:** Alertas de stock bajo - **Bluetooth:** Impresora de tickets - **NFC:** Pagos contactless (futuro) ## Referencias - `@MC_INV_MOBILE` - MOBILE_INVENTORY.yml - `@MC_QUICK_API` - QUICK-API.yml (endpoints disponibles)