{"id":43740513,"url":"https://github.com/friendsofgo/workshop-microservices","last_synced_at":"2026-02-05T11:32:57.008Z","repository":{"id":97098714,"uuid":"219082650","full_name":"friendsofgo/workshop-microservices","owner":"friendsofgo","description":"Boilerplate to follow our workshop about microservices on Go","archived":false,"fork":false,"pushed_at":"2020-10-03T10:06:57.000Z","size":63,"stargazers_count":2,"open_issues_count":0,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-06-20T15:57:44.392Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/friendsofgo.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-11-02T00:30:12.000Z","updated_at":"2021-03-18T19:21:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"28c74efb-1b23-4283-b27f-f99e939c668a","html_url":"https://github.com/friendsofgo/workshop-microservices","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/friendsofgo/workshop-microservices","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/friendsofgo%2Fworkshop-microservices","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/friendsofgo%2Fworkshop-microservices/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/friendsofgo%2Fworkshop-microservices/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/friendsofgo%2Fworkshop-microservices/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/friendsofgo","download_url":"https://codeload.github.com/friendsofgo/workshop-microservices/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/friendsofgo%2Fworkshop-microservices/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29120640,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T10:47:47.471Z","status":"ssl_error","status_checked_at":"2026-02-05T10:45:08.119Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2026-02-05T11:32:56.949Z","updated_at":"2026-02-05T11:32:57.002Z","avatar_url":"https://github.com/friendsofgo.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Microservices Demo for Workshop\n\nThis repository has the purpose of acting like a guide through our workshop about Microservices in Go.\n\nThis repository is split in many branches, each branch represents a final part of each iteration.\n\n## Counters API\n\nThe application we will create during the workshop is a microservices, part of a bigger project about counters. Main goal of this workshop is to offer a demostration of how you can create a simple but well organized microservice using Go.\n\nIt is built using [Gorilla mux](https://github.com/gorilla/mux), a powerful library to create APIs.\n\nThe final result will be a fully functional microservice, that will use [mongoDB](https://www.mongodb.com/es)\nfor storing the data, and [Kafka](https://kafka.apache.org/) for sharing events between our microservices and the others.\n\n## Libraries\n\nIn this application we're using, of course, the standard library, but also some third party libraries as:\n\n* For mongoDB: [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver)\n* For Kafka: [github.com/segmentio/kafka-go](https://github.com/segmentio/kafka-go)\n* For Logging: [github.com/uber-go/zap](https://github.com/uber-go/zap)\n\n## Using our microservices\n\n### Run docker (only necessary for solution two onwards)\nFirst of all you need a Lenses key: it's totally free, you only need to register on: [https://lenses.io/downloads/lenses/](https://lenses.io/downloads/lenses/)\nAfter doing it you'll receive a message with a link, that will generate your key.\n\nOnce you have the key, you just need to replace it on the `docker-compose.yml`, `{LENSE_ID}`.\n\n```sh\n$ docker-compose up -d\n```\n\n### Build\n\n```sh\n$ make build\n```\n\n### Launch\n\n```sh\n$ make run\n```\n\nFor testing the application we're using a tool that is using `go test` behind the scenes, but also puts colors on it.\nFor that you need to install:\n\n```sh\nGO111MODULE=off go get -u github.com/rakyll/gotest\n```\n\nAnd then you can run:\n\n```\nmake test\n```\n\n## License\nMIT License, see [LICENSE](https://github.com/friendsofgo/workshop-microservices/blob/master/LICENSE)\n\n\n  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffriendsofgo%2Fworkshop-microservices","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffriendsofgo%2Fworkshop-microservices","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffriendsofgo%2Fworkshop-microservices/lists"}