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

@@ -10,9 +10,14 @@ Su propósito es mantener un historial claro y auditable de las tareas y solucio
### [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]
* **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:**
* 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.
---