{"repo":"sergicanet9/go-hexagonal-api","free":true,"listed":false,"github":"https://github.com/sergicanet9/go-hexagonal-api","clone":"git clone https://github.com/sergicanet9/go-hexagonal-api.git","description":"A robust gRPC + REST API for user management built with Go and implementing the Hexagonal Architecture (Ports & Adapters) pattern, built on top of the scv-go-tools library.","language":"Go","stars":15,"topics":["go","hexagonal-architecture","mongodb","postgresql","restapi","docker","kubernetes","grpc","grpc-gateway","observability"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"go-hexagonal-api A robust gRPC + REST API for user management built with Go and implementing the Hexagonal Architecture (Ports & Adapters) pattern, built on top of the scv-go-tools library. The gRPC handlers are automatically exposed as REST endpoints, so the same functionality is available over HTTP without duplicating code. The API is designed to work seamlessly with either a MongoDB or PostgreSQL database instance, using the same business logic and handlers. 🚀 Features - Hexagonal Architecture : Clear separation of concerns with transport, business logic and repository layers. - gRPC + gRPC-Gateway : gRPC API implementation, with automatically generated REST endpoints from the gRPC handlers via gRPC-Gateway. - Database Agnostic : Decoupled repository adapters allow injecting a MongoDB or PostgreSQL storage without changing core logic. - Authentication & Authorization : Implements JWT authentication and claim-based authorization for secure endpoints. - Asynchronous Processes : Go routines management with built in processes for periodically health checking connectivity with the HTTP and gRPC servers. - Testing : Comprehensive unit tests with code coverage and integration tests for the happy path. - Developer Experience : Built-in Makefile, Swagger UI, gRPC UI, pgAdmin, and mongo-express. - Lifecycle Management : Multi-environment support with config files, Dockerfile and docker compose, CI/CD pipelines, Kubernetes deployment and New Relic observability. 🏁 Getting Started R","default_branch":null,"files":null,"tree":[],"storefront":"/r/sergicanet9","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/sergicanet9/go-hexagonal-api/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}