faizalpribadi / layout

Micro Service Project Layout ( Standard & Clean Architecture )

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LAYOUT

MICRO-SERVICE-PROJECT-LAYOUT

Description is ambigue for this repository

REQUIREMENTS

  • Go 1.9+

  • Docker and Docker Compose

DEPENDENCIES

  • github.com/google/wire/cmd/wire

  • github.com/satori/go.uuid

  • github.com/sirupsen/logrus

  • github.com/spf13/cobra

  • github.com/spf13/viper

  • github.com/urfave/negroni

FEATURES

  • OpenAPI 3 Approach

  • Docker Deployments

  • Dependency Injection Based on Interface with Google Wire

  • HTTP Multiplexer

  • Graceful Shutdown

  • Hystrix circuit breaker

  • Domain Driven Design Approach

  • Panic recovery and Logger Middleware support by Negroni

  • Centralized Configuration

  • Support DRY for Code Standard

  • Support Opentracing or DataDog for distributed tracing

  • Support Business metrics for DataDog

  • Support message queue or worker job processing with kafka or nats

  • gRPC or WebSocket protocol

INSTALLATION

  • $ git clone https://github.com/faizalpribadi/layout.git

  • $ cd layout && dep ensure

  • $ go run main.go serve-http

About

Micro Service Project Layout ( Standard & Clean Architecture )

License:MIT License


Languages

Language:Go 99.9%Language:Dockerfile 0.1%