{"id":18546491,"url":"https://github.com/alibghz/nestjs-microservices-docker","last_synced_at":"2025-07-22T05:03:03.866Z","repository":{"id":39357710,"uuid":"213212077","full_name":"alibghz/nestjs-microservices-docker","owner":"alibghz","description":"microservices developed in nestjs framework and configured to run in docker...","archived":false,"fork":false,"pushed_at":"2023-06-18T10:47:11.000Z","size":202,"stargazers_count":87,"open_issues_count":0,"forks_count":27,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-10T12:50:13.382Z","etag":null,"topics":["angular","docker","microservices","mongodb","nestjs","nodejs","rest-api","rxjs","socket-io","typescript","websockets"],"latest_commit_sha":null,"homepage":null,"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/alibghz.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}},"created_at":"2019-10-06T17:25:53.000Z","updated_at":"2025-01-17T15:57:54.000Z","dependencies_parsed_at":"2025-04-09T20:35:35.089Z","dependency_job_id":null,"html_url":"https://github.com/alibghz/nestjs-microservices-docker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alibghz/nestjs-microservices-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibghz%2Fnestjs-microservices-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibghz%2Fnestjs-microservices-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibghz%2Fnestjs-microservices-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibghz%2Fnestjs-microservices-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alibghz","download_url":"https://codeload.github.com/alibghz/nestjs-microservices-docker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibghz%2Fnestjs-microservices-docker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266430671,"owners_count":23927165,"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","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"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":["angular","docker","microservices","mongodb","nestjs","nodejs","rest-api","rxjs","socket-io","typescript","websockets"],"created_at":"2024-11-06T20:25:42.710Z","updated_at":"2025-07-22T05:03:03.803Z","avatar_url":"https://github.com/alibghz.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Order Management System\n\nSample projects to demonstrate microservices, restful web api as well as ui.\nThe system consists of 3 following projects:\n- Order Microservices\n- Payment Microservices\n- Order Web\n\n## Order Microservices\n\nIt is responsible for orders management. When an order is created, it triggers the payment microservice to proceed the payment. It also has the endpoints to list, cancel and check the order status.\n\nThe project developed in NestJS, backed by Mongodb, handles both TCP and HTTP requests (mixed mode) and used web sockets to update clients on the status of orders.\n\n### Technologies\n\n- Event-based and Message-based microservices on TCP:8876\n- REST api on port HTTP:8877\n- Swagger (http://localhost:8877/doc)\n- WebSocket\n- Mongodb\n- Docker\n\n## Payment Microservices\n\nThis service is responsible for handling requests made by orders app to verify payment transaction and confirm or decline it. When the service proceed the payment, it emits an event and let the order app to know the result of payment, so, the order service will update the status of that specific order.\n\n### Technologies\n\n- Nestjs microservices on TCP:8875\n- Mongodb\n- Docker\n\n## Order Web\n\nA Single Page Application developed using Angular which is the client-side interface for users to manage and to check the orders.\nA user can see the list of orders, check their statuses in real-time (websocket), and create or cancel an order.\n\n### Technologies\n\n- Angular\n- socket-io\n- rxjs\n- docker\n\n## Running the app\n\nInstall Docker Desktop if you do not have it. Run docker package using docker-compose command\n\n```bash\n# docker\n$ docker-compose up #--build \n```\n\nThen browse http://localhost:8085/orders\n\nWeb Api can be checked through http://localhost:8877/api/orders and you can access api documentation through http://localhost:8877/doc\n\nNote: port 8875 and 8876 are not exposed by default in docker-compose.yml configuration. If you need them, you easily can change the config.\n\n## License\n\nMIT licensed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falibghz%2Fnestjs-microservices-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falibghz%2Fnestjs-microservices-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falibghz%2Fnestjs-microservices-docker/lists"}