{"repo":"eser/golang-service-template","free":true,"listed":false,"github":"https://github.com/eser/golang-service-template","clone":"git clone https://github.com/eser/golang-service-template.git","description":"Go Boilerplate provides a robust foundation that is always ready to be open-sourced","language":"Go","stars":67,"topics":["boilerplate","golang","uber-fx","eser-live","acikkaynak"],"license":null,"category":"saas-starters-boilerplates","readme_excerpt":"Golang Service Template Golang Service Template project is designed to provide a robust foundation that is always ready to be open-sourced, accelerating development and fostering a unified understanding across disciplines. It empowers teams to quickly adopt best practices and streamline the project setup, ensuring consistency and clarity from the very start. Structure This project inherits the Standard Go Project Layout structure but includes its own interpretation. The template code also serves as a service template, implemented with Hexagonal Architecture to support typical software organizations striving to apply Event-Driven Architecture (EDA) and Domain-Driven Design (DDD). The decision to use Hexagonal Architecture is based on its simplicity as one of the most straightforward implementations of Onion Architecture, with which I have extensive experience. Additionally, it is flexible enough to evolve into more structured or complex systems, such as Clean Architecture, as project requirements grow. Hexagonal Architecture Overview This project follows hexagonal architecture principles, also known as ports and adapters pattern: Business Logic ( pkg/sample/business/ ) - Contains domain entities and business rules - Defines interfaces (ports) that the outside world must implement - No external dependencies, pure business logic - Example: channels.Service interface in pkg/sample/business/channels/service.go Adapters ( pkg/sample/adapters/ ) - Implements interfaces defined by th","default_branch":null,"files":null,"tree":[],"storefront":"/r/eser","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/eser/golang-service-template/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."}