michangarrito/orchestration/_archive/agents/perfiles/PERFIL-MOBILE-AGENT.md
Adrian Flores Cortes 2fb9f3f6b5
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
[ESTANDAR-ORCHESTRATION] refactor: Consolidate to standard structure
- 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>
2026-01-24 14:38:04 -06:00

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

  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)