Skip to content

FlowerWrong/awesome-gin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 

Repository files navigation

awesome-gin

Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin. https://gin-gonic.github.io/gin/

Middlewares

Log

  • Bose/go-gin-logrus Gin Web Framework for using Logrus as the Gin logger with Tracing middleware
  • gin-contrib/zap Alternative logging through uber-go/zap
  • axiaoxin-com/logging GinLogger uses zap to log detailed access logs in JSON or text format with trace id, supports flexible and rich configuration, and supports automatic reporting of log events above error level to sentry.

HTML Templates

  • foolin/goview Goview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application. Supports ginview, echoview and gorice.
  • foolin/gin-template 🔥 (Deprecated) Golang template for gin framework with layout, cache, partial, multiple templates support.
  • html/template Gin's default HTML template
  • robvdl/pongo2gin Gin's pongo2 HTML template plugin, if you like django, you will like it also
  • FlowerWrong/plushgin Gin's plush HTML template plugin, if you like erb, you will like it also

websocket

metrics

Gin project in real world

Aritcles

Framework based on gin

  • go-ego/ego A full-stack web framework written in Go, lightweight and efficient front-end component solutions, based on gin. The front-end is compiled, does not affect the back-end.
  • LyricTian/gin-admin RBAC scaffolding based on Gin + Casbin + Ant Design React
  • chenhg5/morningo A Web develop project skeleton base on Gin
  • vsouza/go-gin-boilerplate A starter project with Golang, Gin and DynamoDB
  • ribice/gorsk-gin Idiomatic Golang Restful Starter Kit using Gin
  • xiaobopang/go_init Scaffolding based on gin, goredis, gorm, websocket, rabbitmq
  • axiaoxin-com/pink-lady Pinklady is a template project of gin app, which encapsulates mysql, redis, logging, viper, swagger, middlewares and other common components.

Generator

  • dcu/gin-scaffold Gin scaffold is CLI to generate scaffolds for the gin gonic framework.

Project layout

https://medium.com/wtf-dial/wtf-dial-domain-model-9655cd523182

Application design is a hard problem. There are so many design decisions to make and without a set of solid principles to guide you the problem is made even worse. We’ve looked at several current approaches to Go application design and we’ve seen many of their flaws. I believe approaching design from the standpoint of dependencies makes code organization simpler and easier to reason about. First we design our domain language. Then we isolate our dependencies. Next we introduce mocks to isolate our tests. Finally, we tie everything together within our main package.