wudtichaikarun / go-template-02

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

poc Go template

go template implement with hexeganal architecture concept.

  • rest api example.
  • swagger documents.
  • hot reload.
  • rest-api validate input, and mapping error message.
  • error catcher, error handler middleware.
  • unit test example, using mockery to generate dependency.
  • logger.
  • example connect mysql.
  • database migrate.
  • database seed.

Swagger

Default service.port is 8080

http://localhost:8080/swagger/index.html

System health

Default service.port is 8080

http://localhost:8080/system/health

Liveness Probe

livenessProbe:
  exec:
    command:
      - cat
      - /tmp/live

Readiness Probe

readinessProbe:
  httpGet:
    path: /system/health
    port: 80

project structure

.
├── Dockerfile
├── Makefile
├── README.md
├── cmd
│   └── app
│       └── main.go
├── config.json
├── configs
│   ├── config.go
│   ├── db.go
│   ├── public.go
│   └── server.go
├── controllers
│   ├── example
│   │   ├── example.go
│   │   └── interface.go
│   └── system.go
├── docs
│   ├── docs.go
│   ├── swagger.json
│   └── swagger.yaml
├── go.mod
├── go.sum
├── pkg
│   ├── database
│   │   ├── database.go
│   │   ├── mongo
│   │   ├── mysql
│   │   └── postgres
│   ├── model
│   │   └── model.go
│   ├── redis
│   └── restapi
│       ├── context
│       ├── echo
│       ├── fasthttp
│       ├── gin
│       ├── response
│       └── restapi.go
├── repositories
│   └── example
│       ├── example.go
│       ├── interface.go
│       └── models
├── routes
│   └── routes.go
├── services
│   ├── entities
│   │   ├── request
│   │   └── response
│   └── example
│       ├── example.go
│       └── interface.go

About


Languages

Language:Go 94.4%Language:Makefile 3.5%Language:Dockerfile 2.1%