golangspell
Golang Spell is a productivity tool for building Microservices using Golang
Golang Spell makes it possible to build lightning fast Microservices in Go
in an easy and productive way.
Welcome to the tool that will kick out the boilerplate code
and drive you through new amazing possibilities
Dependency Management
The project is using Go Modules for dependency management
Module: github.com/danilovalente/golangspell
Architectural Model
The Architectural Model adopted to structure the applications created with Golang Spell is based on The Clean Architecture.
Further details can be found here: The Clean Architecture and in the Clean Architecture Book.
Package Structure
Following the Clean Architecture principles, the generated applications will be structured in accordance with the following package structure:
- root package: Main package, containing all the inner application packages. Defined like the AppName provided during the project initialization (init command)
** appcontext: Application context with the core Component Management features needed to make it possible to provide a basic Dependency Injection mechanism
** config: Configuration of the application environment
** controller: Contains the REST controllers from the application.
** domain: Contains all the domain entities.
** gateway: Adapters/Clients for the external resources, like databases, streams, queues, http, cache...
** usecase: Contains the implementation of the use cases which the application is supposed to provide.
Instalation
Run the following command to install the tool in your GOPATH:
go get github.com/danilovalente/golangspell
Add to your O.S. the following Path:
[YOUR GOPATH]/bin
Usage
The command golangspell help shows all available options. To start a new project, the starting point is the command init (to know more run golangspell help init)