{"id":23974140,"url":"https://github.com/felipeaz/microservices-boilerplate","last_synced_at":"2025-04-13T22:10:23.061Z","repository":{"id":41422175,"uuid":"509527448","full_name":"felipeaz/microservices-boilerplate","owner":"felipeaz","description":"Microservices boilerplate built using Hexagonal architecture, DDD principles \u0026 SOLID","archived":false,"fork":false,"pushed_at":"2023-04-10T11:45:07.000Z","size":271,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-27T12:23:43.758Z","etag":null,"topics":["boilerplate","docker-compose","golang-application","kong-api-gateway","microservice","microservices-architecture","swagger","unit-testing"],"latest_commit_sha":null,"homepage":"","language":"Go","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/felipeaz.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":"2022-07-01T16:50:44.000Z","updated_at":"2024-05-31T11:05:26.000Z","dependencies_parsed_at":"2025-01-07T05:21:56.450Z","dependency_job_id":"f1d9ed22-fac3-4c4f-ab22-c9dcdf4db42b","html_url":"https://github.com/felipeaz/microservices-boilerplate","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/felipeaz%2Fmicroservices-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipeaz%2Fmicroservices-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipeaz%2Fmicroservices-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipeaz%2Fmicroservices-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/felipeaz","download_url":"https://codeload.github.com/felipeaz/microservices-boilerplate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248788927,"owners_count":21161727,"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":["boilerplate","docker-compose","golang-application","kong-api-gateway","microservice","microservices-architecture","swagger","unit-testing"],"created_at":"2025-01-07T05:21:50.729Z","updated_at":"2025-04-13T22:10:23.035Z","avatar_url":"https://github.com/felipeaz.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# microservices-boilerplate\nMicroservices boilerplate built using Hexagonal architecture, DDD principles \u0026amp; SOLID.\n\nIt was built in a Monorepo structure where all the services are part of a big repository, even though they're \nstill running independently.\n\n## Application Guide\nThis project has been automated with Makefile to simplify the configuration and how to run the services. To execute the\nfunctions bellow, it's required that you CD at the project root folder -\u003e `microservices-boilerplate`.\n\n### Installation\nThe application depends on `Kong API Gateway` to manage the microservices. It's important to configure everything\nbefore executing the API itself. Spoiler: Kong will take care of the service discovery, defining routes and set a JWT  \nauthentication method.\n\nTo install and configure the app, run `make install`.\n\n### Running API\nThis command will start the API by executing the docker-compose files. Make sure you have installed the application\nbefore executing the running step.\n\nTo execute the app, run `make run`.\n\nYou can run `make stop` to stop the application and shut down the docker containers.\n\n### Running Tests\nThis command executes all test cases in coverage mode and generates an HTML page with the output. The files generated \nwith this command will be at `test/coverage`.\n\nRun `make tests` to execute all tests.\n\n## Dependencies Packages\n\n### Tests\n#### Ginkgo: Test Framework\nRef: https://github.com/onsi/ginkgo/v2\n#### Gomega: Assertion\nRef: https://github.com/onsi/gomega\n\n### Mocks\n#### Testify: Mocks implementation\nRef: https://github.com/stretchr/testify\n#### Vektra Mockery: Mocks Generator\nRef: https://github.com/vektra/mockery\n\n### GORM\n#### Entities \u0026 DB operations\nRef: https://gorm.io/\n\n### Redis\n#### Cache management\nRef: https://github.com/gomodule/redigo/redis\n\n### UUID\n#### Secure ID generator\nRef: https://github.com/satori/go.uuid\n\n### Cors Middleware\n#### Enable API to external origins\nRef: https://github.com/itsjamie/gin-cors\n\n### Observability\n#### Application monitoring using Prometheus and Grafana\nRef: https://grafana.com/\nRef: https://prometheus.io/\n\n### API Documentation\n#### Gin-Swagger: Swagger API Definitions\nRef: https://github.com/swaggo/gin-swagger\n#### Swaggo Files: Doc files manager\nRef: https://github.com/swaggo/files\n#### Swaggo: Doc Generator\nRef: https://github.com/swaggo/swag\n\n#### API Doc: ${service_host}/swagger/index.html\n\n## Application High Level Architecture\n![Microservices Boilerplate drawio (1)](https://user-images.githubusercontent.com/32846823/182005597-e9512985-27d9-45ce-b74f-6b0bd4e8f9f2.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelipeaz%2Fmicroservices-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffelipeaz%2Fmicroservices-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelipeaz%2Fmicroservices-boilerplate/lists"}