Skip to content

10. Estándar de Documentación

CampoValor
CódigoSTD-DOC
Versión1.0
EstadoVigente
PropietarioDocente / cada equipo
Fecha2026-08-30

Que cualquier persona (nuevo integrante, otro equipo, el docente) pueda entender el proyecto, instalarlo y comprender sus decisiones sin depender de explicación oral.

docs/
├── README.md # Punto de entrada (raíz del repo, no dentro de docs/)
├── CONTRIBUTING.md # Cómo se trabaja aquí (resumen operativo del handbook)
├── SECURITY.md # Cómo reportar una vulnerabilidad
├── CHANGELOG.md # Cambios relevantes por versión/entrega
├── architecture/
│ ├── overview.md # Diagrama y explicación de la arquitectura general
│ └── adr/
│ ├── ADR-001-eleccion-postgresql.md
│ ├── ADR-002-uso-mongodb-en-<modulo>.md
│ └── ADR-003-arquitectura-monolitica-modular.md
├── api/ # Documentación de endpoints (o referencia a Swagger)
├── database/ # Diagrama ER + documentación de colecciones Mongo
├── setup/
│ ├── installation.md
│ └── troubleshooting.md
└── handbook/ # Este conjunto de documentos (00-17) + config-examples/
SecciónObligatorio
Nombre y descripción breve del proyectoSí
Stack tecnológicoSí
Requisitos previos (versiones de PHP, Composer, Node, PostgreSQL, MongoDB)Sí
Instrucciones de instalación (link a setup/installation.md si es extenso)Sí
Cómo ejecutar el proyecto localmenteSí
Cómo ejecutar los testsSí
Estructura general de carpetasSí
Enlace a CONTRIBUTING.mdSí
Integrantes del equipo y rolesRecomendado

4. CONTRIBUTING.md — contenido obligatorio

Section titled “4. CONTRIBUTING.md — contenido obligatorio”

Debe permitir que un estudiante nuevo entienda, en una lectura, el flujo de trabajo: branching, commits, PRs, code review, y dónde están las reglas completas (enlace a docs/handbook/).

5. Manual de instalación (setup/installation.md)

Section titled “5. Manual de instalación (setup/installation.md)”

Pasos reproducibles, probados por al menos otro integrante distinto de quien los escribió (evita el “en mi máquina sí funciona”):

  1. Clonar el repositorio.
  2. Variables de entorno (.env.example → .env).
  3. Instalación de dependencias (Composer, npm si aplica).
  4. Migraciones y seeds.
  5. Levantar el servidor (local o Docker si se usa).
  6. Cómo verificar que quedó bien instalado (endpoint de salud, por ejemplo).
  • architecture/overview.md explica en lenguaje simple: qué es el monolito modular, cómo están separados los módulos, cómo se comunican, y el diagrama general (puede ser un diagrama simple, no UML exhaustivo) — P1/OBLIGATORIO.

Se escribe un ADR cuando la decisión:

  • Cambia o fija una tecnología estructural (elegir PostgreSQL, decidir usar MongoDB en un módulo, decidir la estrategia de branching).
  • Es difícil de revertir sin costo significativo.
  • Genera dudas recurrentes entre integrantes (“¿por qué hicimos esto así?”).

No se escribe un ADR para decisiones triviales o fácilmente reversibles (nombre de una variable, orden de una columna).

# ADR-00X: <Título de la decisión>
**Estado:** Propuesta | Aceptada | Rechazada | Reemplazada por ADR-00Y
**Fecha:** YYYY-MM-DD
**Decisores:** <equipo/integrantes>
## Contexto
¿Qué problema estamos resolviendo? ¿Qué restricciones existen?
## Decisión
¿Qué se decidió hacer, en una o dos frases claras?
## Alternativas consideradas
- Alternativa 1 — por qué no se eligió
- Alternativa 2 — por qué no se eligió
## Consecuencias
¿Qué se gana? ¿Qué se sacrifica o qué riesgo se acepta?

7.3 Ejemplos obligatorios desde el inicio del proyecto

Section titled “7.3 Ejemplos obligatorios desde el inicio del proyecto”
  • ADR-001-eleccion-postgresql.md
  • ADR-002-uso-mongodb-en-<modulo>.md (uno por cada módulo que use Mongo, si aplica)
  • ADR-003-arquitectura-monolitica-modular.md

8. Documentación de API y de base de datos

Section titled “8. Documentación de API y de base de datos”
  • Documentación de API: ver Doc. 05, sección 12.
  • Base de datos: diagrama entidad-relación (puede generarse con una herramienta simple, ej. dbdiagram.io) actualizado por cada cambio estructural relevante, y documentación de cada colección Mongo (Doc. 04, STD-DB-N02).
  • CHANGELOG.md registra cambios relevantes por entrega/avance (no cada commit), agrupados por tipo (Agregado, Corregido, Cambiado) — P2/RECOMENDADO.
  • setup/troubleshooting.md recopila problemas comunes de instalación/ejecución y su solución, alimentado conforme el equipo los encuentra — P2/RECOMENDADO.

Para su referencia desde la Matriz de Cumplimiento (Doc. 14):

IDReglaPrioridadSección
STD-DOC-01El repositorio tiene README.md con todas las secciones obligatorias de la sección 3.P13
STD-DOC-02CONTRIBUTING.md describe el flujo de trabajo y enlaza al handbook completo.P14
STD-DOC-03El manual de instalación es reproducible y fue probado por otro integrante.P15
STD-DOC-04architecture/overview.md explica la arquitectura y su diagrama general.P16
STD-DOC-05Toda decisión estructural (tecnología, motor de BD, branching) tiene un ADR con el formato de la sección 7.2.P17
STD-DOC-06La documentación de API se mantiene actualizada (ver Doc. 05, STD-API-12).P18
STD-DOC-07La base de datos tiene diagrama ER actualizado y cada colección Mongo documentada (ver Doc. 04, STD-DB-N02).P18
ReglaVerificaciónHerramienta
README con secciones obligatoriasManualChecklist de PR / auditoría docente
Instalación reproducibleManualOtro integrante ejecuta los pasos desde cero
ADR existente para decisiones estructuralesManualAuditoría (Doc. 14)
Documentación de API actualizadaManual (parcial automática si se usa OpenAPI generado)Code Review + Swagger generado en CI
  • Doc. 00 — mapa general del handbook.
  • Doc. 04 — documentación específica de bases de datos.
  • Doc. 05 — documentación de API.

Fin del documento 10. Continúa en 11. Estándar de Calidad y CI/CD.