{"id":22433197,"url":"https://github.com/andresweitzel/rabbitmq_nodejs_example","last_synced_at":"2026-05-05T12:33:45.243Z","repository":{"id":179776641,"uuid":"659390023","full_name":"andresWeitzel/RabbitMQ_Nodejs_example","owner":"andresWeitzel","description":"Comunicación entre publisher y consumers implementado con Nodejs, RabbitMQ, Docker, Docker Desktop,  amqplib, entre otros.","archived":false,"fork":false,"pushed_at":"2023-08-04T21:44:19.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-27T07:48:37.511Z","etag":null,"topics":["amqplib","docker","docker-desktop","nodejs","rabbitmq"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andresWeitzel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-27T18:20:47.000Z","updated_at":"2023-06-27T19:09:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"a10b12ac-22f9-4015-bc43-333caf87a63e","html_url":"https://github.com/andresWeitzel/RabbitMQ_Nodejs_example","commit_stats":null,"previous_names":["andresweitzel/rabbitmq_nodejs_example"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/andresWeitzel/RabbitMQ_Nodejs_example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andresWeitzel%2FRabbitMQ_Nodejs_example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andresWeitzel%2FRabbitMQ_Nodejs_example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andresWeitzel%2FRabbitMQ_Nodejs_example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andresWeitzel%2FRabbitMQ_Nodejs_example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andresWeitzel","download_url":"https://codeload.github.com/andresWeitzel/RabbitMQ_Nodejs_example/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andresWeitzel%2FRabbitMQ_Nodejs_example/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32649591,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amqplib","docker","docker-desktop","nodejs","rabbitmq"],"created_at":"2024-12-05T22:14:14.774Z","updated_at":"2026-05-05T12:33:45.206Z","avatar_url":"https://github.com/andresWeitzel.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n# RabbitMQ_Nodejs_example\nComunicación entre publisher y consumers implementado con Nodejs, RabbitMQ, Docker, Docker Dektop, amqplib, entre otros.\n* [Playlist prueba de funcionalidad](https://www.youtube.com/playlist?list=PLCl11UFjHurDPyOkEXOR6JO-vUnYqd1FW)\n\n\n\u003cbr\u003e\n\n## Índice 📜\n\n\u003cdetails\u003e\n \u003csummary\u003e Ver \u003c/summary\u003e\n \n \u003cbr\u003e\n \n### Sección 1)  Descripción, configuración y tecnologías\n\n - [1.0) Descripción del Proyecto.](#10-descripción-)\n - [1.1) Ejecución del Proyecto.](#11-ejecución-del-proyecto-)\n - [1.2) Configuración del proyecto desde cero](#12-configuración-del-proyecto-desde-cero-)\n - [1.3) Tecnologías.](#13-tecnologías-)\n\n\n### Sección 2) Endpoints y Ejemplos \n \n - [2.0) EndPoints y recursos.](#20-endpoints-y-recursos-)\n\n### Sección 3) Prueba de funcionalidad y Referencias\n \n - [3.0) Prueba de funcionalidad.](#30-prueba-de-funcionalidad-)\n - [3.1) Referencias.](#31-referencias-)\n\n\n\u003cbr\u003e\n\n\u003c/details\u003e\n\n\n\n\u003cbr\u003e\n\n## Sección 1)  Descripción, configuración y tecnologías\n\n\n### 1.0) Descripción [🔝](#índice-) \n\n\u003cdetails\u003e\n  \u003csummary\u003eVer\u003c/summary\u003e\n \u003cbr\u003e\n\n### 1.0.0) Descripción General\n\n  *  \n\n \n ### 1.0.1) Descripción Arquitectura y Funcionamiento\n \n * \n\n\u003cbr\u003e\n\n\u003c/details\u003e\n\n\n### 1.1) Ejecución del Proyecto [🔝](#índice-)\n\n\u003cdetails\u003e\n  \u003csummary\u003eVer\u003c/summary\u003e\n  \u003cbr\u003e\n \n#### 1.1.0) Configuraciones iniciales\n* Una vez creado un entorno de trabajo a través de algún ide, clonamos el proyecto\n```git\ngit clone https://github.com/andresWeitzel/RabbitMQ_Nodejs_example\n```\n* Nos posicionamos sobre el proyecto\n```git\ncd 'projectName'\n```\n* Instalamos la última versión LTS de [Nodejs(v18)](https://nodejs.org/en/download).\n* Instalamos todas las librerías necesarias\n```git\nnpm i\n```\n\n#### 1.1.1) Docker para Windows 10/11 (64 bits).\n* Descargamos e instalamos el JDK de [Java \u003e 8.x](https://www.java.com/es/download/ie_manual.jsp) para poder implementar docker.\n* Descargamos [Docker (para windows)](https://docs.docker.com/desktop/install/windows-install/).\n* Abrimos una PS como admin y habilitamos el subsistema de linux :\n   ```cmd\n   dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart\n   ```\n* Habilitamos las funciones de la máquina virtual :\n   ```cmd\n   dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart\n   ```\n* Descargamos el paquete de actualización del [kernel WSL2 Linux](https://learn.microsoft.com/it-it/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package).\n* Ejecutamos e instalamos dicho paquete..siguiente..siguiente.\n* Establecemos WSL 2 como la versión predeterminada para Docker :\n   ```cmd\n   wsl --set-default-version 2\n   ```\n* Por último instalamos docker:\n   * Ejecutamos el .exe \"Docker Desktop Installer\".\n   * Cuando se abra el .exe dejamos selecionado \"Use WSL2 instead of Hyper-V\".\n   * Seguidamente ok, sig., etc y esperamos que finalice la instalación.\n   * Abrir la app y comprobar el correcto funcionamiento.\n* ***IMPORTANTE*** : Es necesario reiniciar el sistema para que el mismo tome los cambios del Kernel WSL2 correctamente.\n\n#### 1.1.2) Configuración de contenedores de docker\n#### Contenedor RabbitMQ\n* Descargamos la imagen de rabbitmq desde los repositorios centrales de docker (La config de docker está como variable de entorno, podemos decargar imagenes en cualquier directorio)\n```git\ndocker pull rabbitmq:3-management\n```\n* Creamos el contenedor con las configuraciones declaradas (La config de docker está como variable de entorno, podemos crear contenedores desde cualquier directorio)\n```git\ndocker run --name rabbitmq --hostname my-rabbit -p 15672:15672 -p 5672:5672 rabbitmq:3-management\n```\n* Seguidamente deberíamos tener el container corriendo desde docker desktop\n \n \n\u003cbr\u003e\n\n\u003c/details\u003e\n\n\n### 1.2) Configuración del proyecto desde cero [🔝](#índice-)\n\n\u003cdetails\u003e\n  \u003csummary\u003eVer\u003c/summary\u003e\n \u003cbr\u003e\n \n#### 1.2.0) Configuraciones iniciales\n* Una vez creado un entorno de trabajo a través de algún ide, clonamos el proyecto\n```git\ngit clone https://github.com/andresWeitzel/RabbitMQ_Nodejs_example\n```\n* Nos posicionamos sobre el proyecto\n```git\ncd 'projectName'\n```\n* Instalamos la última versión LTS de [Nodejs(v18)](https://nodejs.org/en/download)\n* Abrimos una terminal desde vsc\n* Inicializamos un proyecto nodejs\n```git\ngit init\n```\n* Instalamos la dependencia [amqplib](https://www.npmjs.com/package/amqplib) para crear clientes AMQP de RabbitMQ.\n```git\nnpm install --save amqplib\n```\n* Creamos un archivo .gitignore y agregamos los files necesarios (por el momento node_modules)\n```git\nnode_modules\n```\n* Creamos un direct source (src) para agregar los publishers and consumers\n\n\n#### 1.2.1) Docker para Windows 10/11 (64 bits).\n* Descargamos e instalamos el JDK de [Java \u003e 8.x](https://www.java.com/es/download/ie_manual.jsp) para poder implementar docker.\n* Descargamos [Docker (para windows)](https://docs.docker.com/desktop/install/windows-install/).\n* Abrimos una PS como admin y habilitamos el subsistema de linux :\n   ```cmd\n   dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart\n   ```\n* Habilitamos las funciones de la máquina virtual :\n   ```cmd\n   dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart\n   ```\n* Descargamos el paquete de actualización del [kernel WSL2 Linux](https://learn.microsoft.com/it-it/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package).\n* Ejecutamos e instalamos dicho paquete..siguiente..siguiente.\n* Establecemos WSL 2 como la versión predeterminada para Docker :\n   ```cmd\n   wsl --set-default-version 2\n   ```\n* Por último instalamos docker:\n   * Ejecutamos el .exe \"Docker Desktop Installer\".\n   * Cuando se abra el .exe dejamos selecionado \"Use WSL2 instead of Hyper-V\".\n   * Seguidamente ok, sig., etc y esperamos que finalice la instalación.\n   * Abrir la app y comprobar el correcto funcionamiento.\n* ***IMPORTANTE*** : Es necesario reiniciar el sistema para que el mismo tome los cambios del Kernel WSL2 correctamente.\n\n#### 1.2.2) Configuración de contenedores de docker\n#### Contenedor RabbitMQ\n* Descargamos la imagen de rabbitmq desde los repositorios centrales de docker (La config de docker está como variable de entorno, podemos decargar imagenes en cualquier directorio)\n```git\ndocker pull rabbitmq:3-management\n```\n* Creamos el contenedor con las configuraciones declaradas (La config de docker está como variable de entorno, podemos crear contenedores desde cualquier directorio)\n```git\ndocker run --name rabbitmq --hostname my-rabbit -p 15672:15672 -p 5672:5672 rabbitmq:3-management\n```\n* Seguidamente deberíamos tener el container corriendo desde docker desktop\n\n\u003cbr\u003e\n\n\u003c/details\u003e\n\n\n### 1.3) Tecnologías [🔝](#índice-)\n\n\u003cdetails\u003e\n  \u003csummary\u003eVer\u003c/summary\u003e\n \u003cbr\u003e\n\n| **Tecnologías** | **Versión** | **Finalidad** |               \n| ------------- | ------------- | ------------- |\n| [SDK](https://www.serverless.com/framework/docs/guides/sdk/) | 4.3.2  | Inyección Automática de Módulos para Lambdas |\n| [NodeJS](https://nodejs.org/en/) | 14.18.1  | Librería JS |\n| [VSC](https://code.visualstudio.com/docs) | 1.72.2  | IDE |\n| [Postman](https://www.postman.com/downloads/) | 10.11  | Cliente Http |\n| [CMD](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/cmd) | 10 | Símbolo del Sistema para linea de comandos | \n| [Git](https://git-scm.com/downloads) | 2.29.1  | Control de Versiones |\n\n\u003c/br\u003e\n\n\n| **Plugin** | **Descripción** |               \n| -------------  | ------------- |\n| [Serverless Plugin](https://www.serverless.com/plugins/) | Librerías para la Definición Modular |\n\n\u003c/br\u003e\n\n\n| **Extensión** |              \n| -------------  | \n| Prettier - Code formatter |\n| YAML - Autoformatter .yml (alt+shift+f) |\n\n\u003cbr\u003e\n\n\u003c/details\u003e\n\n\n\u003cbr\u003e\n\n\n## Sección 2) Endpoints y Ejemplos. \n\n\n### 2.0) Endpoints y recursos [🔝](#índice-) \n\n\u003cdetails\u003e\n  \u003csummary\u003eVer\u003c/summary\u003e\n\u003cbr\u003e\n\n\n\u003cbr\u003e\n\n\u003c/details\u003e\n\n\u003cbr\u003e\n\n\n## Sección 3) Prueba de funcionalidad y Referencias. \n\n\n### 3.0) Prueba de funcionalidad [🔝](#índice-) \n\n\u003cdetails\u003e\n  \u003csummary\u003eVer\u003c/summary\u003e\n\u003cbr\u003e\n\n\n\u003c/details\u003e\n\n\n### 3.1) Referencias [🔝](#índice-)\n\n\u003cdetails\u003e\n  \u003csummary\u003eVer\u003c/summary\u003e\n \u003cbr\u003e\n\n#### Documentación\n * [Introducción a RabbitMQ](https://levelup.gitconnected.com/introduction-to-rabbitmq-with-nodejs-61e2aec0c52c)\n\n#### Docker rabbitmq\n* [Crear un contenedor de RabbitMQ](https://cloudinfrastructureservices.co.uk/create-rabbitmq-docker-container-image/)\n\n#### Códigos de ejemplos\n* [Demo rabbitmq nodejs](https://github.com/bervProject/rabbitmq-demo/tree/main)\n\n\u003cbr\u003e\n\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandresweitzel%2Frabbitmq_nodejs_example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandresweitzel%2Frabbitmq_nodejs_example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandresweitzel%2Frabbitmq_nodejs_example/lists"}