go-wagen

command module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 28, 2020 License: MIT Imports: 12 Imported by: 0

README

go-wagen

Single binary web application generator for Go.

Creates project boilerplate and gives the ability to focus on the implementation of app functionality.

Generates:
  • project layout, according to community best practices
  • Makefile for wrapping project related routines
  • Dockerfile and docker-compose for local development
  • containers for code, tests and golangci-lint
  • configuration management with viper
  • logging with logrus or zap
  • routing with gorilla/mux or chi
  • default health check, http handler and logger middleware

go-wagen is a starter pack for typical web application.

It doesn't aim to generalize the whole project workflow, push framework, or architecture. Consists of framework-agnostic components that are common in most of the applications.

All contributions, issues, requests or feedback are warmly welcome.

Installation

Install pre-built binary on releases page:

  1. curl
  2. ./go-wagen --path=/absoule/path/to/project

or build from source code:

  1. git clone https://github.com/groovili/go-wagen && cd go-wagen
  2. make install - will install packr to wrap templates to binary
  3. make build
  4. ./go-wagen --path=/absoule/path/to/project

Binary doesn't need to be in $GOPATH and works without any dependencies.

Usage

Video instruction soon will be here.

  1. ./go-wagen --path=/absoule/path/to/project and select dependencies
  2. cd /absoule/path/to/project
  3. go mod vendor
  4. make run - will build and run container with code
  5. make test - to run container with tests
  6. make lint - to run linter for source code

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL