Some checks are pending
CI/CD Pipeline / Backend CI (push) Waiting to run
CI/CD Pipeline / Frontend CI (push) Waiting to run
CI/CD Pipeline / WhatsApp Service CI (push) Waiting to run
CI/CD Pipeline / Mobile CI (push) Waiting to run
CI/CD Pipeline / Docker Build (./apps/backend, ./apps/backend/Dockerfile, backend) (push) Blocked by required conditions
CI/CD Pipeline / Docker Build (./apps/frontend, ./apps/frontend/Dockerfile, frontend) (push) Blocked by required conditions
CI/CD Pipeline / Docker Build (./apps/whatsapp-service, ./apps/whatsapp-service/Dockerfile, whatsapp-service) (push) Blocked by required conditions
CI/CD Pipeline / Deploy to Production (push) Blocked by required conditions
- Move 7 non-standard folders to _archive/ - Archive 3 extra root files - Update _MAP.md with standardized structure Standard: SIMCO-ESTANDAR-ORCHESTRATION v1.0.0 Level: CONSUMER (L2) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2.8 KiB
2.8 KiB
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
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
# TypeCheck
cd apps/mobile && npm run typecheck
# Lint
npm run lint
# Tests
npm run test
Patrones Requeridos
- Multi-tenancy: Usar
useTenant()para contexto - Offline-First: Cache agresivo para uso sin internet
- Performance: Memoization y lazy loading
- Accessibility: VoiceOver/TalkBack support
- 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)