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

118 lines
2.8 KiB
Markdown

# 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)