go-api-boilerplate: github.com/vardius/go-api-boilerplate Index | Files | Directories

package goapiboilerplate

import "github.com/vardius/go-api-boilerplate"

Package goapiboilerplate provides Go Server/API boilerplate using best practices, DDD, CQRS, ES.

Index

Package Files

doc.go

Directories

PathSynopsis
cmd/cli
cmd/proxy
cmd/user
pkg/common/applicationPackage application is a layer responsible for driving the workflow of the application, matching the use cases at hand.
pkg/common/application/calmPackage calm allows to recover from panic
pkg/common/application/executioncontextPackage executioncontext provides context helper function so set and get execution flags
pkg/common/application/http/responsePackage response provides helpers and utils for working with HTTP response
pkg/common/application/jwtPackage jwt allows to encode/decode identity to jwt tokens
pkg/common/application/logPackage log provides Logger
pkg/common/application/os/shutdownPackage shutdown provides simple shutdown signals handler with callback handler
pkg/common/application/security/authenticatorPackage authenticator provides allows to authorize request
pkg/common/application/security/firewallPackage firewall allow to guard handlers
pkg/common/application/security/identityPackage identity provides type that allows to authorize request
pkg/common/domainPackage domain is the heart layer of the software, and this is where the interesting stuff happens.
pkg/common/infrastructurePackage infrastructure is a layer that holds everything that interacts with other systems - Secondary/Driven Adapters.
pkg/common/infrastructure/commandbusPackage commandbus provides interfaces along with helper functions
pkg/common/infrastructure/commandbus/memoryPackage commandbus provides memory implementation of domain event store
pkg/common/infrastructure/eventbusPackage eventbus provides interfaces along with helper functions
pkg/common/infrastructure/eventbus/memoryPackage eventbus provides memory implementation of domain event store
pkg/common/infrastructure/eventstorePackage eventstore provides interfaces along with helper functions
pkg/common/infrastructure/eventstore/dynamodbPackage eventstore provides dynamodb implementation of domain event store
pkg/common/infrastructure/eventstore/memoryPackage eventstore provides memory implementation of domain event store
pkg/proxyPackage proxy is a proxy bounded context responsible for distributing application traffic across bounded contexts.
pkg/proxy/interfacesPackage interfaces is a layer that holds everything that other systems interacts with - Primary/Driving Adapters.
pkg/proxy/interfaces/httpPackage http provides routes for http router
pkg/proxy/interfaces/http/socialmediaPackage socialmedia provides auth handlers for social media
pkg/userPackage user holds user bounded context
pkg/user/applicationPackage application is a layer responsible for driving the workflow of the application, matching the use cases at hand.
pkg/user/domainPackage domain is the heart layer of the software, and this is where the interesting stuff happens.
pkg/user/domain/userPackage user holds user domain logic
pkg/user/infrastructurePackage infrastructure is a layer that holds everything that interacts with other systems - Secondary/Driven Adapters.
pkg/user/infrastructure/protoPackage proto is a generated protocol buffer package.
pkg/user/interfacesPackage interfaces is a layer that holds everything that other systems interacts with - Primary/Driving Adapters.
pkg/user/interfaces/grpcPackage grpc provides user grpc server

Updated 2018-06-09. Refresh now. Tools for package owners.