160 lines
4.5 KiB
Markdown
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
|