mirror of
https://github.com/marcogll/hr_soul23.git
synced 2026-01-13 21:35:17 +00:00
Merge branch 'feat/backend-core-setup-17551761085875550719' into main
This commit is contained in:
@@ -8,21 +8,11 @@ Su propósito es mantener un historial claro y auditable de las directrices arqu
|
||||
|
||||
## Entradas de Bitácora
|
||||
|
||||
### 2024-07-29 - Definición de Contratos de API y Datos
|
||||
### [Fecha] - Decisión/Observación
|
||||
|
||||
* **Contexto:** Para asegurar un desarrollo coherente y desacoplado entre los agentes de backend, frontend y testing, era necesario establecer una fuente única de verdad para las estructuras de datos y las interfaces de la API.
|
||||
* **Decisión/Acción:** Se creó el documento `docs/API_CONTRACTS.md`.
|
||||
* **Justificación:** Este documento previene la ambigüedad y reduce la fricción entre agentes. Define los modelos de datos principales (Socia, Vacación, Permiso) y los endpoints RESTful iniciales, permitiendo que el desarrollo en paralelo comience sobre una base sólida y acordada.
|
||||
* **Impacto:** Afecta principalmente a:
|
||||
* **Agente 2 (Backend):** Tiene una especificación clara de qué construir.
|
||||
* **Agente 10 (Frontend):** Sabe qué datos esperar y cómo interactuar con la API.
|
||||
* **Agente 11 (Testing):** Tiene una referencia para escribir los casos de prueba.
|
||||
|
||||
### 2024-07-29 - Creación de Estructura Inicial
|
||||
|
||||
* **Contexto:** El repositorio inicial carecía de una estructura para guiar el trabajo de los agentes de IA/humanos.
|
||||
* **Decisión/Acción:** Se creó la estructura de directorios (`src`, `docs/agents`), los archivos de bitácora para cada agente y el documento de convenciones (`docs/CONVENTIONS.md`).
|
||||
* **Justificación:** Esta estructura establece un flujo de trabajo claro, promueve la documentación consistente y asegura que todos los agentes operen bajo las mismas reglas.
|
||||
* **Impacto:** Afecta a todos los agentes.
|
||||
* **Contexto:** [Descripción del problema o situación]
|
||||
* **Decisión/Acción:** [Qué se decidió o qué acción se tomó]
|
||||
* **Justificación:** [Por qué se tomó esa decisión]
|
||||
* **Impacto:** [Sistemas o agentes afectados]
|
||||
|
||||
---
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
# Bitácora del Agente 1 – Infraestructura & DevOps
|
||||
|
||||
## Fecha: 2023-10-27
|
||||
Este documento registra las decisiones, cambios y observaciones del **Agente 1**.
|
||||
|
||||
### Cambios Realizados
|
||||
Su propósito es mantener un historial claro y auditable de las tareas y soluciones implementadas.
|
||||
|
||||
* **Creación de `Dockerfile`:**
|
||||
* Se ha añadido un `Dockerfile` para construir la imagen del servicio de Node.js.
|
||||
* La imagen se basa in `node:18-alpine` para mantenerla ligera.
|
||||
* Se exponen el puerto 3011 y se define el comando de inicio `node src/index.js`.
|
||||
---
|
||||
|
||||
* **Creación de `docker-compose.yml`:**
|
||||
* Se ha creado un archivo `docker-compose.yml` para orquestar los servicios de la aplicación.
|
||||
* Define dos servicios: `api` (el backend de Node.js) y `db` (una base de datos PostgreSQL).
|
||||
* Configura una red `app-network` para la comunicación entre servicios.
|
||||
* Se define un volumen `postgres-data` para la persistencia de los datos de la base de datos.
|
||||
## Entradas de Bitácora
|
||||
|
||||
* **Creación de `.env.example`:**
|
||||
* Se ha añadido un archivo `.env.example` con las variables de entorno necesarias para la configuración de la base de datos y la aplicación.
|
||||
### [Fecha] - Tarea/Decisión
|
||||
|
||||
* **Contexto:** [Descripción del requerimiento o problema]
|
||||
* **Acción/Implementación:** [Qué se hizo o cómo se implementó]
|
||||
* **Resultado:** [Cuál fue el resultado, ej. endpoint creado, test pasado]
|
||||
* **Observaciones:** [Notas adicionales, dependencias, problemas encontrados]
|
||||
|
||||
---
|
||||
|
||||
@@ -10,14 +10,14 @@ Su propósito es mantener un historial claro y auditable de las tareas y solucio
|
||||
|
||||
### 2024-07-29 - Creación del Sistema de Migraciones y Esquema Inicial
|
||||
|
||||
* **Contexto:** La tarea principal del Agente 3 es establecer la base de datos como la "fuente única de verdad". Para ello, se necesita un sistema versionado y reproducible para la estructura de la base de datos.
|
||||
* **Contexto:** Se necesitaba una base de datos y un modelo de datos para poder continuar con el desarrollo de la aplicación.
|
||||
* **Acción/Implementación:**
|
||||
1. Se inicializó un proyecto Node.js con `npm init`.
|
||||
2. Se instalaron las dependencias `knex` y `pg`.
|
||||
3. Se creó el archivo de configuración `knexfile.js` para definir la conexión a la base de datos.
|
||||
4. Se generó la primera migración (`..._initial_schema.js`) utilizando el CLI de `knex`.
|
||||
5. Se definió el esquema de las tablas principales (`branches`, `users`, `employees`, `vacations`, `permissions`) en el archivo de migración, basándose en `docs/API_CONTRACTS.md`.
|
||||
* **Resultado:** El proyecto ahora cuenta con un sistema de migraciones listo para ser ejecutado. El esquema inicial de la base de datos está definido como código y puede ser replicado de manera consistente.
|
||||
* **Observaciones:** Se añadió un archivo `.gitignore` para excluir `node_modules`, lo cual es crucial para mantener el repositorio limpio. La conexión en `knexfile.js` apunta a un servicio de base de datos llamado `db`, como se espera en un entorno de Docker Compose.
|
||||
* Se ha definido un contrato de datos en `docs/API_CONTRACTS.md` que servirá como única fuente de verdad para los modelos de datos.
|
||||
* Se ha seleccionado `knex.js` con `sqlite3` como sistema de base de datos para el desarrollo inicial.
|
||||
* Se ha configurado la conexión a la base de datos y un sistema de migraciones.
|
||||
* Se han creado las migraciones iniciales para todas las tablas requeridas.
|
||||
* Se han creado seeds para poblar la base de datos con datos de prueba.
|
||||
* **Resultado:** La base de datos está lista y poblada con datos iniciales. El esquema está versionado a través de migraciones.
|
||||
* **Observaciones:** El uso de `sqlite3` es temporal para facilitar el desarrollo. Se deberá migrar a una base de datos más robusta como PostgreSQL para producción.
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user