Skip to content
/ skeleton Public template

skeleton proposal for Go application

License

Notifications You must be signed in to change notification settings

gol4ng/skeleton

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gol4ng/skeleton: bulletprouf go project structure

GO-SKELETON

this is a simple golang app skeleton that proposes an architecture to provide:

  • http server
  • grpc server
  • elasticSearch repository
  • dependency injection (container)
  • metrics middleware (prometheus)
  • contextualised services (i.e: request-scoped services)

Table of Contents

  1. Requirements
  2. Install
  3. Run
    1. gRPC/HTTP servers
    2. job
  4. Generate protobuf files
  5. TODOs

Requirements:

  • Docker
  • Docker-compose
  • Golang with go-modules activated

Install

go mod download

Run

The skeleton app provides two commands/binaries:

  • a gRPC & HTTP server
  • a job

Run gRPC & http servers

go run ./cmd/server

Run job

go run ./cmd/job

Generate protobuf files

make proto