🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
168 lines
3.4 KiB
Markdown
168 lines
3.4 KiB
Markdown
---
|
|
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
|