go-api-boilerplate: github.com/vardius/go-api-boilerplate/cmd

Directories

PathSynopsis
auth
auth/internal/applicationPackage application is a layer responsible for driving the workflow of the application, matching the use cases at hand.
auth/internal/application/config
auth/internal/application/eventhandler
auth/internal/application/identity
auth/internal/application/oauth2
auth/internal/domainPackage domain is the heart layer of the software, and this is where the interesting stuff happens.
auth/internal/domain/clientPackage client holds client domain logic
auth/internal/domain/tokenPackage token holds token domain logic
auth/internal/infrastructurePackage infrastructure is a layer that holds everything that interacts with other systems - Secondary/Driven Adapters.
auth/internal/infrastructure/persistencePackage persistence holds view models and repository interfaces
auth/internal/infrastructure/persistence/mysqlPackage mysql holds view model repositories
auth/internal/infrastructure/repositoryPackage repository holds event sourced repositories
auth/internal/interfacesPackage interfaces is a layer that holds everything that other systems interacts with - Primary/Driving Adapters.
auth/internal/interfaces/grpcPackage grpc provides user grpc server
auth/internal/interfaces/httpPackage http provides routes for http router
auth/internal/interfaces/http/handlersPackage handlers provides http handlers
auth/proto
user
user/internal/applicationPackage application is a layer responsible for driving the workflow of the application, matching the use cases at hand.
user/internal/application/config
user/internal/application/email
user/internal/application/eventhandler
user/internal/application/mailer
user/internal/application/oauth2
user/internal/domainPackage domain is the heart layer of the software, and this is where the interesting stuff happens.
user/internal/domain/userPackage user holds user domain logic
user/internal/infrastructurePackage infrastructure is a layer that holds everything that interacts with other systems - Secondary/Driven Adapters.
user/internal/infrastructure/persistencePackage persistence holds view models and repository interfaces
user/internal/infrastructure/persistence/mysqlPackage mysql holds view model repositories
user/internal/infrastructure/repositoryPackage repository holds event sourced repositories
user/internal/interfacesPackage interfaces is a layer that holds everything that other systems interacts with - Primary/Driving Adapters.
user/internal/interfaces/grpcPackage grpc provides user grpc server
user/internal/interfaces/httpPackage http provides routes for http router
user/internal/interfaces/http/handlersPackage handlers provides http handlers
user/proto

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