{"repo":"zubroide/go-api-boilerplate","free":true,"listed":false,"github":"https://github.com/zubroide/go-api-boilerplate","clone":"git clone https://github.com/zubroide/go-api-boilerplate.git","description":"Boilerplate for Golang API","language":"Go","stars":229,"topics":["golang","bolierplate","api","api-rest"],"license":null,"category":"api-integrations-sdks","readme_excerpt":"Go API Boilerplate Features - [x] Framework for API: Gin - [x] Package manager: go mod - [x] DI: Based on service container - [x] Layers: Controller- Service- Entity - [x] Routes: Gin - [x] Process controller results and convert them into JSON/XML according to request headers - [x] Logger: logrus - [x] Environment variables, config: Viper - [x] ORM: GORM - [x] Migrations: goose - [x] Data seeders - [x] Console commands: Cobra - [x] Unit tests with overriding of services in DI ( go test ) - [x] Code coverage by tests ( go tool cover ) - [x] Logger integration with Sentry - [x] Setup alerting for unhandled errors - [x] Swagger - [x] Docker compose - [x] Makefile - [x] Development: hot reload code Folders structure - command/ : Console commands. - controller/ : Controllers for web requests processing. - db/ : Migrations and seeders. - dic/ : Dependency Injection Container. - doc/ : Swagger documentation. - docker/ : Docker containers description. - install/ : Scripts for environment preparing. - logger/ : Logger and client for Sentry. - model/ : Business logic. - model/db/ : DB connection. - model/entity/ : GORM entities. - model/service/ : Business logic. - route/ : Web requests routes. - vendor/ : Packages using in application. - base.env : Base environment variables. - .env : Environment variables for current environment. How to use (Docker) Check - http://localhost:8080/users - http://localhost:8080/doc/swagger/index.html How to use (without Docker) Install necessary package","default_branch":null,"files":null,"tree":[],"storefront":"/r/zubroide","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/zubroide/go-api-boilerplate/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."}