{"id":19492818,"url":"https://github.com/oatpp/example-microservices","last_synced_at":"2025-08-23T06:05:51.190Z","repository":{"id":48137956,"uuid":"215145847","full_name":"oatpp/example-microservices","owner":"oatpp","description":"Example project how to do microservices using Oat++. Different build configs and monolithization.","archived":false,"fork":false,"pushed_at":"2024-04-22T21:28:49.000Z","size":64,"stargazers_count":16,"open_issues_count":1,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-29T22:51:37.814Z","etag":null,"topics":["microservices","monolith","monolithization","oatpp"],"latest_commit_sha":null,"homepage":"https://oatpp.io/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oatpp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-14T21:09:51.000Z","updated_at":"2024-05-23T21:27:50.000Z","dependencies_parsed_at":"2024-11-07T00:24:18.804Z","dependency_job_id":"9567c8ac-cc3e-4e33-8b93-f75a316ddeb2","html_url":"https://github.com/oatpp/example-microservices","commit_stats":{"total_commits":28,"total_committers":1,"mean_commits":28.0,"dds":0.0,"last_synced_commit":"1c67d0f0efa45cdcf262ca30e0a2c63a83ead999"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oatpp%2Fexample-microservices","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oatpp%2Fexample-microservices/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oatpp%2Fexample-microservices/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oatpp%2Fexample-microservices/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oatpp","download_url":"https://codeload.github.com/oatpp/example-microservices/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224015660,"owners_count":17241535,"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":["microservices","monolith","monolithization","oatpp"],"created_at":"2024-11-10T21:23:09.385Z","updated_at":"2024-11-10T21:23:09.856Z","avatar_url":"https://github.com/oatpp.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# example-microservices [![Build Status](https://dev.azure.com/lganzzzo/lganzzzo/_apis/build/status/oatpp.example-microservices?branchName=master)](https://dev.azure.com/lganzzzo/lganzzzo/_build/latest?definitionId=22\u0026branchName=master)\n\nThis is an example project on how to build microservices with Oat++ Web Framework, and how to utilize the [Monolithization](https://oatpp.io/docs/monolithization/) feature.\n\nSee more:\n\n- [Oat++ Website](https://oatpp.io/)\n- [Oat++ Github Repository](https://github.com/oatpp/oatpp)\n- [Monolithization](https://oatpp.io/docs/monolithization/)\n\n## Note\n\nFor more information about this example, see the [Monolithization](https://oatpp.io/docs/monolithization/) article.\n\n## Inside This Repository\n\n```\n|- user-service/                          // User-Service source code\n|- book-service/                          // Book-Service source code\n|- facade/                                // Facade source code\n|- monolith/all-services/                 // Monolithic config to build all services as a Monolith\n|- build_all.sh                           // Utility script. Build all services\n|- run_all_microservices.sh               // Utility script. Run all services as separate applications\n```\n\n## Build And Run\n\n### Pre Requirements\n\n- Install the [oatpp](https://github.com/oatpp/oatpp)\n- Install the [oatpp-swagger](https://github.com/oatpp/oatpp-swagger)\n\n### Build all\n\n```bash\n$ ./build_all.sh \n```\n\n### Run as microservices\n\n```bash\n$ ./run_all_microservices.sh \n```\n\n### Run as monolith\n\n```bash\n$ ./monolith/all-services/build/all-services-exe\n```\n\n## Overview\n\n\u003cimg src=\"https://raw.githubusercontent.com/oatpp/example-microservices/master/diagram.svg?sanitize=true\"\u003e\n\nFacade takes book info from book-service, user info from user-service, merges data, and returns to the client.\n\n### Service ports\n\n - Facade - 8000\n - User - 8001\n - Book - 8002\n \n### Example curl\n\n```\n$ curl http://localhost:8000/books/4\n{\"id\": 4, \"title\": \"1984\", \"author\": {\"id\": 4, \"name\": \"George Orwell\"}}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foatpp%2Fexample-microservices","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foatpp%2Fexample-microservices","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foatpp%2Fexample-microservices/lists"}