--- id: "IA-001" title: "EPIC IA-001: Fundamentos" type: "Epic" status: "Planned" priority: "Alta" phase: "01 - Alcance Inicial" story_points: 40 budget: "$15,000 MXN" sprint: "Sprint 1-3" created_date: "2026-01-04" updated_date: "2026-01-04" --- # IA-001: Fundamentos **Epica:** IA-001 **Nombre:** Fundamentos del Sistema **Fase:** 01 - Alcance Inicial **Story Points:** 40 SP (estimado) **Presupuesto:** $15,000 MXN (estimado) **Estado:** Planned **Sprint:** Sprint 1-3 --- ## Proposito Establecer los fundamentos tecnicos del sistema Inmobiliaria Analytics, incluyendo autenticacion, gestion de usuarios, y configuracion base de la aplicacion. --- ## Alcance ### Incluye 1. **Autenticacion y Autorizacion** - Login/logout de usuarios - JWT tokens - Roles y permisos basicos - Refresh tokens 2. **Gestion de Usuarios** - CRUD de usuarios - Perfiles de usuario - Preferencias 3. **Configuracion de Aplicacion** - Variables de entorno - Configuracion de base de datos - CORS y seguridad basica 4. **Health Check y Monitoreo Basico** - Endpoint /health - Logs estructurados - Metricas basicas ### No Incluye - Modulos de propiedades (IA-002) - Modulos de analytics (IA-003) - Integraciones externas (IA-005) - Frontend completo (solo login/registro) --- ## Objetivos 1. Usuario puede registrarse e iniciar sesion 2. Sistema valida tokens JWT correctamente 3. Roles Admin/User funcionan 4. API responde en <200ms promedio 5. 90% test coverage en modulos core --- ## Estado Actual El backend tiene un scaffold basico con: - NestJS configurado - AuthModule placeholder (sin implementacion) - Configuracion de TypeORM lista - Estructura de carpetas definida --- ## Trabajo Pendiente ### Autenticacion (Auth Module) - [ ] Implementar AuthService - [ ] Implementar LocalStrategy (login) - [ ] Implementar JwtStrategy (validacion) - [ ] Implementar AuthController - [ ] Crear AuthGuard ### Usuarios (Users Module) - [ ] Crear User entity - [ ] Implementar UsersService - [ ] Implementar UsersController - [ ] Crear DTOs (CreateUser, UpdateUser) - [ ] Validaciones de usuario ### Base de Datos - [ ] Crear migration inicial - [ ] Schema de usuarios - [ ] Schema de roles - [ ] Seeds de datos basicos ### Testing - [ ] Tests unitarios AuthService - [ ] Tests unitarios UsersService - [ ] Tests e2e de flujo auth - [ ] Tests de guards --- ## Dependencias ### Antes (Bloqueantes) - [x] Setup de proyecto NestJS - [x] Configuracion de Docker - [x] Definicion de stack tecnologico (ADR-001) ### Despues (Dependientes) - [ ] IA-002: Propiedades (requiere auth) - [ ] IA-003: Analytics (requiere users) --- ## Riesgos | Riesgo | Probabilidad | Impacto | Mitigacion | |--------|--------------|---------|------------| | Cambios en requerimientos auth | Media | Alto | Diseno flexible con strategies | | Performance de JWT validation | Baja | Medio | Caching de tokens | | Complejidad de roles | Media | Medio | RBAC simple inicial | --- ## Metricas | Metrica | Objetivo | Actual | |---------|----------|--------| | Story Points estimados | 40 SP | - | | RF documentados | 5 | 0 | | US documentadas | 8 | 0 | | Tests coverage | 90% | 0% | --- ## Referencias - [STACK-TECNOLOGICO.md](../../00-vision-general/STACK-TECNOLOGICO.md) - [ADR-001-stack-tecnologico.md](../../97-adr/ADR-001-stack-tecnologico.md) - [_MAP.md](./_MAP.md) --- **Creado:** 2026-01-04 **Actualizado:** 2026-01-04 **Responsable:** @Backend-Agent