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/internal/applicationPackage application is a layer responsible for driving the workflow of the application, matching the use cases at hand.
cmd/auth/internal/application/config
cmd/auth/internal/application/eventhandler
cmd/auth/internal/application/identity
cmd/auth/internal/application/oauth2
cmd/auth/internal/domainPackage domain is the heart layer of the software, and this is where the interesting stuff happens.
cmd/auth/internal/domain/clientPackage client holds client domain logic
cmd/auth/internal/domain/tokenPackage token holds token domain logic
cmd/auth/internal/infrastructurePackage infrastructure is a layer that holds everything that interacts with other systems - Secondary/Driven Adapters.
cmd/auth/internal/infrastructure/persistencePackage persistence holds view models and repository interfaces
cmd/auth/internal/infrastructure/persistence/mysqlPackage mysql holds view model repositories
cmd/auth/internal/infrastructure/repositoryPackage repository holds event sourced repositories
cmd/auth/internal/interfacesPackage interfaces is a layer that holds everything that other systems interacts with - Primary/Driving Adapters.
cmd/auth/internal/interfaces/grpcPackage grpc provides user grpc server
cmd/auth/internal/interfaces/httpPackage http provides routes for http router
cmd/auth/internal/interfaces/http/handlersPackage handlers provides http handlers
cmd/auth/proto
cmd/user
cmd/user/internal/applicationPackage application is a layer responsible for driving the workflow of the application, matching the use cases at hand.
cmd/user/internal/application/config
cmd/user/internal/application/email
cmd/user/internal/application/eventhandler
cmd/user/internal/application/mailer
cmd/user/internal/application/oauth2
cmd/user/internal/domainPackage domain is the heart layer of the software, and this is where the interesting stuff happens.
cmd/user/internal/domain/userPackage user holds user domain logic
cmd/user/internal/infrastructurePackage infrastructure is a layer that holds everything that interacts with other systems - Secondary/Driven Adapters.
cmd/user/internal/infrastructure/persistencePackage persistence holds view models and repository interfaces
cmd/user/internal/infrastructure/persistence/mysqlPackage mysql holds view model repositories
cmd/user/internal/infrastructure/repositoryPackage repository holds event sourced repositories
cmd/user/internal/interfacesPackage interfaces is a layer that holds everything that other systems interacts with - Primary/Driving Adapters.
cmd/user/internal/interfaces/grpcPackage grpc provides user grpc server
cmd/user/internal/interfaces/httpPackage http provides routes for http router
cmd/user/internal/interfaces/http/handlersPackage handlers provides http handlers
cmd/user/proto
pkg/applicationPackage errors implements functions to manipulate errors.
pkg/auth
pkg/auth/oauth2
pkg/buildinfo
pkg/commandbusPackage commandbus provides interfaces along with helper functions
pkg/commandbus/memory
pkg/container
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/memory
pkg/eventbus/pubsub
pkg/eventbus/pushpull
pkg/eventstorePackage eventstore provides interfaces along with helper functions
pkg/eventstore/dynamodbPackage memory provides dynamodb implementation of domain event store
pkg/eventstore/memoryPackage memory provides memory implementation of domain event store
pkg/eventstore/mysqlPackage eventstore provides mysql implementation of domain event store
pkg/executioncontextPackage executioncontext provides context helper function so set and get execution flags
pkg/grpc
pkg/grpc/middleware
pkg/grpc/middleware/firewall
pkg/http/errors
pkg/http/firewallPackage firewall allow to guard handlers
pkg/http/middlewarePackage middleware provides http middleware
pkg/http/middleware/authenticatorPackage authenticator provides allows to authorize request
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/logPackage log provides Logger
pkg/metadata
pkg/mysql

Updated 2020-09-29. Refresh now. Tools for package owners.