{"id":19043992,"url":"https://github.com/muhhylmi/express-mongoclient","last_synced_at":"2026-06-05T16:31:53.043Z","repository":{"id":45431647,"uuid":"437202206","full_name":"muhhylmi/express-mongoclient","owner":"muhhylmi","description":"create rest api and messaging using kafka","archived":false,"fork":false,"pushed_at":"2024-02-28T10:17:29.000Z","size":273,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"refractor","last_synced_at":"2025-01-02T08:13:55.558Z","etag":null,"topics":["cqrs-pattern","express-typescript","kafka-consumer-producer","microservices","rest-api","typescript-mongodb","typescript-postgresql"],"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/muhhylmi.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}},"created_at":"2021-12-11T06:04:07.000Z","updated_at":"2024-01-29T06:18:54.000Z","dependencies_parsed_at":"2024-02-28T03:45:27.969Z","dependency_job_id":null,"html_url":"https://github.com/muhhylmi/express-mongoclient","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhhylmi%2Fexpress-mongoclient","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhhylmi%2Fexpress-mongoclient/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhhylmi%2Fexpress-mongoclient/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhhylmi%2Fexpress-mongoclient/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/muhhylmi","download_url":"https://codeload.github.com/muhhylmi/express-mongoclient/tar.gz/refs/heads/refractor","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240100560,"owners_count":19747689,"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-pattern","express-typescript","kafka-consumer-producer","microservices","rest-api","typescript-mongodb","typescript-postgresql"],"created_at":"2024-11-08T22:44:14.653Z","updated_at":"2025-11-12T16:01:16.224Z","avatar_url":"https://github.com/muhhylmi.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## This NodeJs Rest API Repository\n\nthis is NodeJs Rest API with `postgres` as primary database, in this repo express framework used to build the Rest API. and [sequelize](https://sequelize.org/docs/v6) is used to build database model and migration.\n\n### whats implemented in this repo\n1. Rest API\n2. Messaging using Kafka\n3. Combine producer and consumer as one App\n4. Combine postgres and mongodb as one App (postgres as primary database and mongodb for receive event data from kafka)\n\n### Messaging Workflow\n```mermaid\nsequenceDiagram\n    User-\u003e\u003eAPI: hit API create note\n    API-\u003e\u003ePostgres: save note\n    API-\u003e\u003eKafka: prduce event\n    Kafka-\u003e\u003eMongoDB: save note \n    Postgres--\u003e\u003eAPI: response succes/failed\n    alt succes save mongo\n        Kafka--\u003e\u003eAPI: Commit event\n    else failed save mongo\n        Kafka--\u003e\u003eAPI: Un Commit event\n    end\n    API--\u003e\u003eUser:response message\n```\n\n## How to Run App (install dependencies / prequisites)\n\u003c!-- init project --\u003e\n1. npm init  \n\u003c!-- add dependecies --\u003e\n2. npm add -D typescript ts-node @types/node @types/express nodemon\n\u003c!-- add tsconfig --\u003e\n3. ./node_modules/.bin/tsc --init\n\u003c!-- tsconfig script must be uncomment --\u003e\n4. \"outDir\": \"./build\"\n\u003c!-- add script --\u003e   \n5. add script tsc :dev \"tsc \u0026\u0026 nodemon ./build/index.js\"\n\n### How to RUN APP\n1. npm install\n2. npm run tsc:dev\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuhhylmi%2Fexpress-mongoclient","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmuhhylmi%2Fexpress-mongoclient","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuhhylmi%2Fexpress-mongoclient/lists"}