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/auth
cmd/auth/infrastructurePackage infrastructure is a layer that holds everything that interacts with other systems - Secondary/Driven Adapters.
cmd/auth/infrastructure/proto
cmd/auth/interfacesPackage interfaces is a layer that holds everything that other systems interacts with - Primary/Driving Adapters.
cmd/auth/interfaces/grpcPackage grpc provides user grpc server
cmd/user
cmd/user/applicationPackage application is a layer responsible for driving the workflow of the application, matching the use cases at hand.
cmd/user/domainPackage domain is the heart layer of the software, and this is where the interesting stuff happens.
cmd/user/domain/userPackage user holds user domain logic
cmd/user/infrastructurePackage infrastructure is a layer that holds everything that interacts with other systems - Secondary/Driven Adapters.
cmd/user/infrastructure/persistencePackage persistence holds view models and repository interfaces
cmd/user/infrastructure/persistence/mysqlPackage mysql holds view model repositories
cmd/user/infrastructure/proto
cmd/user/infrastructure/repositoryPackage repository holds event sourced repositories
cmd/user/interfacesPackage interfaces is a layer that holds everything that other systems interacts with - Primary/Driving Adapters.
cmd/user/interfaces/grpcPackage grpc provides user grpc server
cmd/user/interfaces/httpPackage http provides routes for http router
pkg/commandbusPackage commandbus provides interfaces along with helper functions
pkg/commandbus/memoryPackage commandbus provides memory implementation of domain event store
pkg/domainPackage domain is the heart layer of the software, and this is where the interesting stuff happens.
pkg/errorsPackage errors implements functions to manipulate errors.
pkg/eventbusPackage eventbus provides interfaces along with helper functions
pkg/eventbus/memoryPackage eventbus provides memory implementation of domain event store
pkg/eventstorePackage eventstore provides interfaces along with helper functions
pkg/eventstore/dynamodbPackage eventstore provides dynamodb implementation of domain event store
pkg/eventstore/memoryPackage eventstore provides memory implementation of domain event store
pkg/executioncontextPackage executioncontext provides context helper function so set and get execution flags
pkg/http/request
pkg/http/responsePackage response provides helpers and utils for working with HTTP response
pkg/identityPackage identity provides type that allows to authorize request
pkg/jwtPackage jwt allows to encode/decode identity to jwt tokens
pkg/logPackage log provides Logger
pkg/os/shutdownPackage shutdown provides simple shutdown signals handler with callback handler
pkg/recoveryPackage recovery allows to recover from panic
pkg/security/authenticatorPackage authenticator provides allows to authorize request
pkg/security/firewallPackage firewall allow to guard handlers

Updated 2019-04-20. Refresh now. Tools for package owners.