Skip to content

Latest commit

 

History

History
93 lines (71 loc) · 5.95 KB

development.md

File metadata and controls

93 lines (71 loc) · 5.95 KB

Desarrollo local

Referencia de puesta en marcha con la API, el worker y el dashboard fuera de contenedores. Para probar el flujo completo solo con Docker basta docker compose up -d --wait (ver compose-stack.md).

Requisitos

  • Docker con Compose v2
  • JDK 25 (el Maven Wrapper se incluye: no hace falta instalar Maven)
  • Node.js 22 y npm (la versión del Dockerfile del dashboard y de su CI; no se ha probado con otra)

1. Configuración

cp .env.example .env                  # valores de desarrollo; .env no se versiona
cp frontend/.env.example frontend/.env.local

2. Servicios locales (PostgreSQL, RabbitMQ y Redis)

docker compose up -d --wait postgres rabbitmq redis   # solo la infraestructura; espera a que estén healthy

Con docker compose up -d --wait a secas se levanta todo el stack (también API, worker y dashboard en contenedores): ver compose-stack.md. No lo mezcle con los pasos 3 y 4: la API y el dashboard del contenedor ocupan los puertos 8080 y 3000.

PostgreSQL queda en localhost:5434, RabbitMQ en localhost:5672 (consola en http://localhost:15672) y Redis en localhost:6379. Credenciales de desarrollo: queuelab / queuelab.

3. Backend

export JAVA_HOME=$(/usr/libexec/java_home -v 25)   # macOS; en Linux, la ruta de su JDK 25
cd backend && ./mvnw verify                        # compila y prueba (las pruebas usan Docker)

# En terminales separadas, desde la raíz del repositorio:
SPRING_PROFILES_ACTIVE=local java -jar backend/api/target/queuelab-api-0.1.0-SNAPSHOT.jar
SPRING_PROFILES_ACTIVE=local java -jar backend/worker/target/queuelab-worker-0.1.0-SNAPSHOT.jar

La API escucha en http://localhost:8080 (/actuator/health) y aplica las migraciones al arrancar. El perfil local aporta las contraseñas de desarrollo; sin él hay que definir QUEUELAB_DB_PASSWORD y QUEUELAB_RABBITMQ_PASSWORD.

4. Dashboard

cd frontend
npm ci
npm run dev                           # http://localhost:3000

Otros scripts: npm run lint, npm run typecheck, npm test, npm run build. El dashboard llama a la API desde el navegador (QUEUELAB_API_URL, por defecto http://localhost:8080), así que la API debe admitir su origen: por defecto http://localhost:3000 (QUEUELAB_CORS_ALLOWED_ORIGINS). Detalles en frontend/README.md.

Parar y limpiar

docker compose down                   # conserva los datos
docker compose down -v                # borra también los volúmenes

Capturas del README

Se regeneran con ./scripts/screenshots.sh; el comando y sus requisitos están en el README.

Índice de documentación