# US-MGN-011-001-002: Configurar Proyecto (Fases, Presupuesto, Fechas) **RF Asociado:** [RF-MGN-011-001](../../02-modelado/requerimientos-funcionales/mgn-011/RF-MGN-011-001-gestión-de-proyectos.md) **Módulo:** MGN-011 - Proyectos Genéricos **Epic:** Proyectos **Prioridad:** P1 **Story Points:** 3 **Sprint:** Sprint 24 **Estado:** Ready for Development **Fecha:** 2025-11-24 --- ## User Story **Como** gerente de proyectos, **Quiero** configurar fases y presupuestos del proyecto, **Para** planificar ejecución. ## Criterios de Aceptación ### Escenario 1: Crear fases de proyecto **Dado que** proyecto existe, **Cuando** creo fases: "Análisis" (budget 20K), "Desarrollo" (budget 60K), "Testing" (budget 20K), **Entonces** sistema crea 3 fases, suma total = 100K (presupuesto proyecto). ### Escenario 2: Validar suma de fases **Dado que** proyecto tiene budget=100K, fases suman 110K, **Cuando** intento guardar, **Entonces** warning "Suma de fases (110K) excede presupuesto (100K)". ### Escenario 3: Actualizar fase **Dado que** fase "Desarrollo" existe, **Cuando** actualizo budget=70K, **Entonces** sistema actualiza y recalcula totales. ## Reglas de Negocio - **RN-1:** Fases opcionales. - **RN-2:** Suma de fases idealmente <= budget proyecto (warning, no error). - **RN-3:** Cada fase tiene nombre, budget, fechas. ## Tareas Técnicas ### Backend - [ ] Service: `ProjectPhaseService` (CRUD fases) - [ ] Validar suma fases vs budget ### Frontend - [ ] Componente: `ProjectPhasesConfig.tsx` - [ ] Tabla editable de fases ### Database - [ ] Tabla: `projects.phases` (project_id, name, budget, start_date, end_date) ## Estimación Detallada | Tarea | Horas | Backend | 1.5 | Frontend | 1.5 | Testing | 1 | **TOTAL** | **4 horas = 3 SP** | ## Definition of Done - [ ] Fases gestionables - [ ] Validaciones aplicadas - [ ] QA/PO aprobado ## Referencias - [RF-MGN-011-001](../../02-modelado/requerimientos-funcionales/mgn-011/RF-MGN-011-001-gestión-de-proyectos.md)