{"id":22221145,"url":"https://github.com/davesag/competing-services-example","last_synced_at":"2025-07-27T16:31:05.932Z","repository":{"id":37065895,"uuid":"135993209","full_name":"davesag/competing-services-example","owner":"davesag","description":"A simple example of how to use the amqp-simple-pub-sub library to implement competing micro-services.","archived":false,"fork":false,"pushed_at":"2024-04-29T07:36:30.000Z","size":3271,"stargazers_count":19,"open_issues_count":0,"forks_count":5,"subscribers_count":4,"default_branch":"develop","last_synced_at":"2024-05-02T00:12:10.990Z","etag":null,"topics":["amqp","competing-services","example","microservices"],"latest_commit_sha":null,"homepage":"https://itnext.io/connecting-competing-microservices-using-rabbitmq-28e5269861b6","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/davesag.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["davesag"]}},"created_at":"2018-06-04T08:18:54.000Z","updated_at":"2024-04-29T07:36:33.000Z","dependencies_parsed_at":"2024-03-27T21:27:11.367Z","dependency_job_id":"2dd608cd-6c09-4d67-8677-318a4ec8a556","html_url":"https://github.com/davesag/competing-services-example","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davesag%2Fcompeting-services-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davesag%2Fcompeting-services-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davesag%2Fcompeting-services-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davesag%2Fcompeting-services-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davesag","download_url":"https://codeload.github.com/davesag/competing-services-example/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227817166,"owners_count":17824199,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["amqp","competing-services","example","microservices"],"created_at":"2024-12-02T23:12:26.744Z","updated_at":"2024-12-02T23:12:27.285Z","avatar_url":"https://github.com/davesag.png","language":"JavaScript","funding_links":["https://github.com/sponsors/davesag"],"categories":["JavaScript"],"sub_categories":[],"readme":"# competing-services-example\n\nAn example of how to use the [`amqp-simple-pub-sub`](https://github.com/davesag/amqp-simple-pub-sub) library to implement competing micro-services.\n\n## See Also\n\n- [itnext.io/connecting-competing-microservices-using-rabbitmq](https://itnext.io/connecting-competing-microservices-using-rabbitmq-28e5269861b6)\n- [`amqp-simple-pub-sub`](https://github.com/davesag/amqp-simple-pub-sub)\n- [`amqp-delegate`](https://github.com/davesag/amqp-delegate)\n\n## To Run\n\n1. Ensure you have [Docker](https://www.docker.com) installed.\n2. Clone this repo to your local machine, then,\n3. From within the project folder:\n\n   ```sh\n   docker-compose up -d\n   ```\n\n4. Wait a few seconds for RabbitMQ to start, then:\n\n   ```sh\n   npm start\n   ```\n\n5. You can `crtl-c` when you get tired of watching it.\n\n## Development\n\n### Branches\n\n\u003c!-- prettier-ignore --\u003e\n| Branch | Status | Coverage | Audit | Notes |\n| ------ | ------ | -------- | ----- | ----- |\n| `develop` | [![CircleCI](https://circleci.com/gh/davesag/competing-services-example/tree/develop.svg?style=svg)](https://circleci.com/gh/davesag/competing-services-example/tree/develop) |  [![codecov](https://codecov.io/gh/davesag/competing-services-example/branch/develop/graph/badge.svg)](https://codecov.io/gh/davesag/competing-services-example) | [![Vulnerabilities](https://snyk.io/test/github/davesag/competing-services-example/develop/badge.svg)](https://snyk.io/test/github/davesag/competing-services-example/develop) | Work in progress |\n| `main` | [![CircleCI](https://circleci.com/gh/davesag/competing-services-example/tree/main.svg?style=svg)](https://circleci.com/gh/davesag/competing-services-example/tree/main) |  [![codecov](https://codecov.io/gh/davesag/competing-services-example/branch/main/graph/badge.svg)](https://codecov.io/gh/davesag/competing-services-example) | [![Vulnerabilities](https://snyk.io/test/github/davesag/competing-services-example/main/badge.svg)](https://snyk.io/test/github/davesag/competing-services-example/main) | Latest release |\n\n### Prerequisites\n\n- [NodeJS](https://nodejs.org), 8.10.0+ (I use [`nvm`](https://github.com/creationix/nvm) to manage Node versions — `brew install nvm`.)\n- [Docker](https://www.docker.com) (Use [Docker for Mac](https://docs.docker.com/docker-for-mac/), not the homebrew version)\n\n### Initialisation\n\n```sh\nnpm install\n```\n\n### To Start the queue server for integration testing\n\n```sh\ndocker-compose up -d\n```\n\nRuns Rabbit MQ.\n\nRun `docker-compose down` to stop it.\n\n### Test it\n\n- `npm test` — runs the unit tests (quick and does not need `rabbitmq` running)\n\n### Lint it\n\n```sh\nnpm run lint\n```\n\n## Contributing\n\nPlease see the [contributing notes](CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavesag%2Fcompeting-services-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavesag%2Fcompeting-services-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavesag%2Fcompeting-services-example/lists"}