erp-core/docs/08-epicas/EPIC-MGN-019-mobile-apps.md

160 lines
4.5 KiB
Markdown

# EPICA: EPIC-MGN-019 - Apps Moviles por Perfil
## Metadata
| Campo | Valor |
|-------|-------|
| **ID** | EPIC-MGN-019 |
| **Nombre** | Apps Moviles por Perfil de Usuario |
| **Modulo** | mobile |
| **Fase** | Fase 5 - Mobile Platform |
| **Prioridad** | P1 |
| **Estado** | Backlog |
| **Story Points** | 89 |
| **Sprint(s)** | Sprint 29-36 |
---
## Descripcion
Desarrollo de apps moviles React Native para diferentes perfiles de usuario en cada vertical. Incluye funcionalidades biometricas (reconocimiento facial, huella), modo offline, y sincronizacion con backend.
---
## Objetivo de Negocio
- Digitalizar operaciones en campo
- Capturar datos en tiempo real
- Validar asistencia con biometricos
- Aumentar productividad de usuarios moviles
---
## Apps por Vertical
### Construccion (3 apps)
| App | Perfiles | SP | Descripcion |
|-----|----------|-----|-------------|
| App Encargado de Obra | Residente, Supervisor | 21 | Check in/out, avances, fotos, materiales |
| App Almacen | Almacenista | 13 | Entradas, salidas, inventario |
| App Derechohabiente | Cliente final | 13 | Estado vivienda, citas, documentos |
### Vidrio Templado (2 apps)
| App | Perfiles | SP | Descripcion |
|-----|----------|-----|-------------|
| App Produccion | Operador | 13 | Ordenes, calidad, escaneo |
| App Instalador | Instalador | 8 | Asignaciones, fotos, firmas |
### Mecanicas Diesel (1 app)
| App | Perfiles | SP | Descripcion |
|-----|----------|-----|-------------|
| App Tecnico | Mecanico | 13 | Ordenes servicio, diagnosticos |
### Retail (1 app)
| App | Perfiles | SP | Descripcion |
|-----|----------|-----|-------------|
| App Vendedor | Vendedor | 8 | POS movil, inventario |
---
## Historias de Usuario - Core (Todas las apps)
| ID | Historia | Prioridad | SP | Estado |
|----|----------|-----------|-----|--------|
| US-MGN019-001 | Como usuario, quiero hacer login con mi cuenta ERP | P0 | 3 | Backlog |
| US-MGN019-002 | Como usuario, quiero hacer check-in con reconocimiento facial | P0 | 8 | Backlog |
| US-MGN019-003 | Como usuario, quiero hacer check-in con huella | P1 | 5 | Backlog |
| US-MGN019-004 | Como usuario, quiero tomar fotos geolocalizadas | P0 | 5 | Backlog |
| US-MGN019-005 | Como usuario, quiero trabajar sin internet | P0 | 8 | Backlog |
| US-MGN019-006 | Como usuario, quiero sincronizar datos cuando tenga conexion | P0 | 5 | Backlog |
| US-MGN019-007 | Como usuario, quiero recibir notificaciones push | P1 | 3 | Backlog |
**Total Story Points Core:** 37 SP
---
## Criterios de Aceptacion
**Funcionales:**
- [ ] Login con credenciales ERP
- [ ] Reconocimiento facial con liveness detection
- [ ] Huella dactilar nativa del dispositivo
- [ ] Captura de fotos con GPS embebido
- [ ] Almacenamiento offline de datos pendientes
- [ ] Sincronizacion automatica al recuperar conexion
- [ ] Resolucion de conflictos en sincronizacion
- [ ] Notificaciones push via Firebase
**No Funcionales:**
- [ ] Soporte Android 9+ e iOS 14+
- [ ] Tiempo de login < 3 segundos
- [ ] Reconocimiento facial < 2 segundos
- [ ] Sincronizacion en background
- [ ] Tamaño de app < 50MB
---
## Arquitectura Tecnica
### Stack
- **Framework:** React Native 0.73+
- **Estado:** Zustand + React Query
- **Storage:** WatermelonDB (SQLite)
- **Auth:** JWT + Biometrics
- **Camera:** react-native-camera
- **Facial:** AWS Rekognition / Azure Face
- **Push:** Firebase Cloud Messaging
### Monorepo Structure
```
apps/mobile/
├── packages/
│ ├── core/ # Auth, API, Storage
│ ├── biometrics/ # Facial, Fingerprint
│ ├── camera/ # Photo capture
│ ├── sync/ # Offline sync
│ └── ui/ # Shared components
├── apps/
│ ├── construccion-encargado/
│ ├── construccion-almacen/
│ ├── construccion-cliente/
│ ├── vidrio-produccion/
│ ├── vidrio-instalador/
│ ├── mecanicas-tecnico/
│ └── retail-vendedor/
└── package.json
```
---
## Dependencias
**Depende de:**
- EPIC-MGN-001 Auth (autenticacion)
- APIs de cada vertical
**Bloquea:**
- Ninguna
---
## Roadmap de Apps
| Fase | Apps | Sprint |
|------|------|--------|
| 1 | Core packages + App Encargado Obra | 29-32 |
| 2 | App Almacen + App Derechohabiente | 33-34 |
| 3 | App Produccion + App Tecnico | 35-36 |
| 4 | Otras apps | 37+ |
---
**Creado por:** Requirements-Analyst
**Fecha:** 2025-12-05