{"id":27946020,"url":"https://github.com/ad1822/rtorderprocessing","last_synced_at":"2026-05-06T06:36:26.265Z","repository":{"id":291566938,"uuid":"975853440","full_name":"ad1822/RTOrderProcessing","owner":"ad1822","description":"Kafka Microservice Application for Order Processing","archived":false,"fork":false,"pushed_at":"2025-05-05T11:08:21.000Z","size":75,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2025-05-05T12:24:58.046Z","etag":null,"topics":["docker-compose","kafka","microservices","nodejs","postgresql","ts"],"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/ad1822.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-01T02:49:31.000Z","updated_at":"2025-05-05T11:08:24.000Z","dependencies_parsed_at":"2025-05-05T12:25:16.362Z","dependency_job_id":"12c4a31f-6b12-4ddf-b0ce-97a97dd8fd1e","html_url":"https://github.com/ad1822/RTOrderProcessing","commit_stats":null,"previous_names":["ad1822/rtorderprocessing"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ad1822%2FRTOrderProcessing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ad1822%2FRTOrderProcessing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ad1822%2FRTOrderProcessing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ad1822%2FRTOrderProcessing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ad1822","download_url":"https://codeload.github.com/ad1822/RTOrderProcessing/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252890251,"owners_count":21820350,"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":["docker-compose","kafka","microservices","nodejs","postgresql","ts"],"created_at":"2025-05-07T13:47:36.531Z","updated_at":"2025-10-27T20:06:23.150Z","avatar_url":"https://github.com/ad1822.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🛒 Order Processing System – Microservices Architecture\n\nA Kafka-based microservices project implementing a distributed **Order Processing System**, comprised of three independent services: **Order**, **Inventory**, and **Payment**. These services communicate asynchronously using Kafka topics to ensure loose coupling and high scalability.\n\n## Diagram\n\n![Diagram](image.png)\n\n## 📦 Microservices\n\n### 1. **Order Service**\n\n- Accepts customer orders.\n- Publishes events to Kafka.\n- Listens for payment status updates.\n\n### 2. **Inventory Service**\n\n- Listens for new order events.\n- Checks and reserves inventory.\n- Publishes success or failure events.\n\n### 3. **Payment Service**\n\n- Listens for reserved inventory events.\n- Simulates/generates payment.\n- Updates payment status.\n\nEach service has its own isolated **PostgreSQL** database instance for data encapsulation and autonomy (following the **Database per Service** pattern).\n\n---\n\n## 🔄 Kafka Topics\n\n| Kafka Topic                | Description                                            | Publisher         | Subscriber(s)                     |\n| -------------------------- | ------------------------------------------------------ | ----------------- | --------------------------------- |\n| `order.created.v1`         | Published when a new order is created.                 | Order Service     | Inventory Service                 |\n| `inventory.reserved.v1`    | Published after inventory is successfully reserved.    | Inventory Service | Payment Service                   |\n| `inventory.failed.v1`      | Published if inventory reservation fails.              | Inventory Service | Order Service                     |\n| `payment.generated.v1`     | Published when payment is generated/simulated.         | Payment Service   | Order Service                     |\n| `order.payment.updated.v1` | Published to notify order status update after payment. | Order Service     | (For downstream services, if any) |\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fad1822%2Frtorderprocessing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fad1822%2Frtorderprocessing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fad1822%2Frtorderprocessing/lists"}