{"id":14956915,"url":"https://github.com/mmorejon/microservices-docker-go-mongodb","last_synced_at":"2025-04-08T02:41:58.076Z","repository":{"id":45189057,"uuid":"65858454","full_name":"mmorejon/microservices-docker-go-mongodb","owner":"mmorejon","description":"Example of Microservices in Go with Docker, Kubernetes and MongoDB","archived":false,"fork":false,"pushed_at":"2023-12-19T00:09:45.000Z","size":4756,"stargazers_count":679,"open_issues_count":10,"forks_count":210,"subscribers_count":26,"default_branch":"main","last_synced_at":"2025-04-01T01:41:24.405Z","etag":null,"topics":["cuelang","docker","docker-compose","golang","helm","kubernetes","microservices","mongodb"],"latest_commit_sha":null,"homepage":"","language":"CUE","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mmorejon.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":"2016-08-16T22:42:11.000Z","updated_at":"2025-03-30T12:09:06.000Z","dependencies_parsed_at":"2024-06-18T16:56:47.759Z","dependency_job_id":"c7ef0198-a92d-492b-88ca-fe5e4727b13c","html_url":"https://github.com/mmorejon/microservices-docker-go-mongodb","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmorejon%2Fmicroservices-docker-go-mongodb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmorejon%2Fmicroservices-docker-go-mongodb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmorejon%2Fmicroservices-docker-go-mongodb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmorejon%2Fmicroservices-docker-go-mongodb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mmorejon","download_url":"https://codeload.github.com/mmorejon/microservices-docker-go-mongodb/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247767232,"owners_count":20992538,"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":["cuelang","docker","docker-compose","golang","helm","kubernetes","microservices","mongodb"],"created_at":"2024-09-24T13:13:43.975Z","updated_at":"2025-04-08T02:41:58.059Z","avatar_url":"https://github.com/mmorejon.png","language":"CUE","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cinema - Example of Microservices in Go with Docker, Kubernetes and MongoDB\n\n## Overview\n\nCinema is an example project which demonstrates the use of microservices for a fictional movie theater.\nThe Cinema backend is powered by 4 microservices, all of which happen to be written in Go, using MongoDB for manage the database and Docker to isolate and deploy the ecosystem.\n\n * Movie Service: Provides information like movie ratings, title, etc.\n * Show Times Service: Provides show times information.\n * Booking Service: Provides booking information.\n * Users Service: Provides movie suggestions for users by communicating with other services.\n\nThe Cinema use case is based on the project written in Python by [Umer Mansoor](https://github.com/umermansoor/microservices).\n\nThe project structure is based in the knowledge learned in:\n\n* Golang structure: \u003chttps://peter.bourgon.org/go-best-practices-2016/#repository-structure\u003e\n* Book Let's Go: \u003chttps://lets-go.alexedwards.net/\u003e\n\nContainer images used support multi-architectures (amd64, arm/v7 and arm64).\n\n## Index\n\n* [Deployment](#deployment)\n* [How To Use Cinema Services](#how-to-use-cinema-services)\n* [Related Posts](related-posts)\n* [Significant Revisions](#significant-revisions)\n* [The big picture](#screenshots)\n\n## Deployment\n\nThe application can be deployed in both environments: **local machine** or in a **kubernetes cluster**. You can find the appropriate documentation for each case in the following links:\n\n* [local machine (docker compose)](./docs/localhost.md)\n* [kubernetes (helm)](./docs/kubernetes-helm.md)\n* [kubernetes (timoni)](./docs/kubernetes-timoni.md)\n\n## How To Use Cinema Services\n\n* [endpoints](./docs/endpoints.md)\n\n## Related Posts\n\n* [Traefik 2 - Advanced configuration with Docker Compose](https://mmorejon.io/en/blog/traefik-2-advanced-configuration-docker-compose/)\n\n## Significant Revisions\n\n* [Microservices - Martin Fowler](http://martinfowler.com/articles/microservices.html)\n* [Umer Mansoor - Cinema](https://github.com/umermansoor/microservices)\n* [Traefik Proxy Docs](https://doc.traefik.io/traefik/)\n* [MongoDB Driver for Golang](https://github.com/mongodb/mongo-go-driver)\n* [MongoDB Golang Channel](https://www.youtube.com/c/MongoDBofficial/search?query=golang)\n\n## Screenshots\n\n### Architecture\n\n![overview](docs/images/overview.jpg)\n\n### Homepage\n\n![website home page](docs/images/website-home.jpg)\n\n### Users List\n\n![users list page](docs/images/website-users.jpg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmorejon%2Fmicroservices-docker-go-mongodb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmmorejon%2Fmicroservices-docker-go-mongodb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmorejon%2Fmicroservices-docker-go-mongodb/lists"}