mirror of
https://github.com/marcogll/hr_soul23.git
synced 2026-01-13 13:25:16 +00:00
9
.env.example
Normal file
9
.env.example
Normal file
@@ -0,0 +1,9 @@
|
||||
# Application configuration
|
||||
NODE_ENV=development
|
||||
|
||||
# Database configuration
|
||||
DB_HOST=db
|
||||
DB_USER=postgres
|
||||
DB_PASSWORD=secret
|
||||
DB_NAME=hr_platform
|
||||
DB_PORT=5432
|
||||
21
Dockerfile
Normal file
21
Dockerfile
Normal file
@@ -0,0 +1,21 @@
|
||||
# Usar una imagen base oficial de Node.js
|
||||
ARG NODE_VERSION=18
|
||||
FROM node:${NODE_VERSION}-alpine
|
||||
|
||||
# Establecer el directorio de trabajo en el contenedor
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
# Copiar package.json y package-lock.json (si existe)
|
||||
COPY package*.json ./
|
||||
|
||||
# Instalar las dependencias del proyecto
|
||||
RUN npm install
|
||||
|
||||
# Copiar el resto del código de la aplicación
|
||||
COPY . .
|
||||
|
||||
# Exponer el puerto en el que la aplicación se ejecutará
|
||||
EXPOSE 3011
|
||||
|
||||
# Comando para iniciar la aplicación
|
||||
CMD [ "node", "src/index.js" ]
|
||||
34
docker-compose.yml
Normal file
34
docker-compose.yml
Normal file
@@ -0,0 +1,34 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
api:
|
||||
build: .
|
||||
ports:
|
||||
- "3011:3011"
|
||||
volumes:
|
||||
- .:/usr/src/app
|
||||
networks:
|
||||
- app-network
|
||||
env_file:
|
||||
- .env
|
||||
|
||||
db:
|
||||
image: postgres:13
|
||||
restart: always
|
||||
environment:
|
||||
POSTGRES_USER: ${DB_USER}
|
||||
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
||||
POSTGRES_DB: ${DB_NAME}
|
||||
ports:
|
||||
- "5432:5432"
|
||||
volumes:
|
||||
- postgres-data:/var/lib/postgresql/data
|
||||
networks:
|
||||
- app-network
|
||||
|
||||
networks:
|
||||
app-network:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
postgres-data:
|
||||
@@ -1,18 +1,19 @@
|
||||
# Bitácora del Agente 1 – Infraestructura & DevOps
|
||||
|
||||
Este documento registra las decisiones, cambios y observaciones del **Agente 1**.
|
||||
## Fecha: 2023-10-27
|
||||
|
||||
Su propósito es mantener un historial claro y auditable de las tareas y soluciones implementadas.
|
||||
### Cambios Realizados
|
||||
|
||||
---
|
||||
* **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`.
|
||||
|
||||
## Entradas de Bitácora
|
||||
* **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.
|
||||
|
||||
### [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]
|
||||
|
||||
---
|
||||
* **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.
|
||||
|
||||
20
docs/agents/agent-2-backend-core.md
Normal file
20
docs/agents/agent-2-backend-core.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Bitácora del Agente 2 – Backend Core (Node.js)
|
||||
|
||||
Este documento registra las decisiones técnicas, cambios en la estructura y endpoints creados o modificados por el Agente 2.
|
||||
|
||||
## Decisiones Técnicas
|
||||
|
||||
* **Framework:** Se eligió `express` por su flexibilidad y amplio soporte de la comunidad, ideal para construir el core de la API de manera rápida y escalable.
|
||||
* **Gestor de Paquetes:** Se utiliza `npm` para la gestión de dependencias, siguiendo el estándar de Node.js.
|
||||
* **Estructura de Carpetas:** Se ha definido una estructura modular (`modules`, `routes`, `services`, `config`, `webhooks`) para organizar el código de forma clara y mantenible a medida que el proyecto crezca.
|
||||
|
||||
## Cambios en Estructura
|
||||
|
||||
* **`package.json`:** Creado para inicializar el proyecto Node.js y gestionar las dependencias.
|
||||
* **`.gitignore`:** Añadido para excluir `node_modules` del control de versiones.
|
||||
* **`src/index.js`:** Creado como punto de entrada principal de la aplicación.
|
||||
* **Directorios:** Se ha creado la estructura de carpetas base dentro de `src/` para albergar los diferentes componentes del backend.
|
||||
|
||||
## Endpoints Creados o Modificados
|
||||
|
||||
* **`GET /health`:** Endpoint inicial implementado para verificar el estado del servidor. Devuelve un `200 OK`.
|
||||
18
src/index.js
Normal file
18
src/index.js
Normal file
@@ -0,0 +1,18 @@
|
||||
const express = require('express');
|
||||
|
||||
const app = express();
|
||||
const PORT = process.env.PORT || 3011;
|
||||
|
||||
app.get('/health', (req, res) => {
|
||||
res.status(200).send('OK');
|
||||
});
|
||||
|
||||
// Centralized error handling
|
||||
app.use((err, req, res, next) => {
|
||||
console.error(err.stack);
|
||||
res.status(500).send('Something broke!');
|
||||
});
|
||||
|
||||
app.listen(PORT, () => {
|
||||
console.log(`Server is running on http://localhost:${PORT}`);
|
||||
});
|
||||
Reference in New Issue
Block a user