{"id":25804858,"url":"https://github.com/atreib/cqrs","last_synced_at":"2026-04-12T15:03:34.605Z","repository":{"id":51413936,"uuid":"468968711","full_name":"atreib/cqrs","owner":"atreib","description":"CQRS pattern example project using Node.js with Typescript, MongoDB (Mongoose), PostgreSQL (Prisma), RabbitMQ and Docker-Compose","archived":false,"fork":false,"pushed_at":"2022-03-12T13:21:57.000Z","size":453,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-03-07T16:48:53.837Z","etag":null,"topics":["cqrs","docker-compose","javascript","mongodb","mongoose","nodejs","postgresql","prisma","rabbitmq","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atreib.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-03-12T03:30:26.000Z","updated_at":"2022-03-15T12:52:15.000Z","dependencies_parsed_at":"2022-09-15T01:21:34.544Z","dependency_job_id":null,"html_url":"https://github.com/atreib/cqrs","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atreib%2Fcqrs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atreib%2Fcqrs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atreib%2Fcqrs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atreib%2Fcqrs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atreib","download_url":"https://codeload.github.com/atreib/cqrs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241045942,"owners_count":19899746,"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":["cqrs","docker-compose","javascript","mongodb","mongoose","nodejs","postgresql","prisma","rabbitmq","typescript"],"created_at":"2025-02-27T18:54:02.747Z","updated_at":"2025-11-06T21:03:35.166Z","avatar_url":"https://github.com/atreib.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CQRS example\n\nCQRS stands for Command and Query Responsibility Segregation, a pattern that separates read and update operations for a data store.\n\nWe'll create a fictional scenario where a few services communicate in order to fetch some big chunk of data, asynchronous and incrementally insert it into a relational database, wait until it's ready to process and map it to a non-relational database, then asynchronous analyze each mapped document, while providing an endpoint to fetch it.\n\n![](./docs/overview.drawio.png)\n\n# Get started\n\nWe're using [docker-compose](https://docs.docker.com/compose/) to manage our infrastructure (as database and other services). After installing docker-compose in your machine, just run `docker-compose up -d` to set up everything.\n\nThe next step is set the relational database. To do so, access the `/sql-database` directory and read its README file.\n\nAfter setting up the database, you can start the `/fetcher`, `/mirror` and `/analyzer` services. Go to their directories and read their README files to do that.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatreib%2Fcqrs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatreib%2Fcqrs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatreib%2Fcqrs/lists"}