feat: Set up database and data models

This commit establishes the database foundation for the HR Platform.

Key changes include:
- Defined the complete data schema in `docs/API_CONTRACTS.md` to serve as a single source of truth.
- Integrated `knex.js` with `sqlite3` to manage the database connection and schema.
- Implemented a version-controlled migration system and created initial migrations for all required tables.
- Created seed files to populate the database with sample data for development.
- Addressed security feedback by using `bcrypt` to hash user passwords in the seed data and adding the SQLite database file to `.gitignore`.
This commit is contained in:
google-labs-jules[bot]
2025-12-13 22:08:28 +00:00
parent aa6f118b26
commit 7db61d9af9
18 changed files with 2034 additions and 301 deletions

View File

@@ -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]
---