go web skeleton
1.0.0
Um esqueleto completo de aplicativo da Web de Golang.
中文说明
Contém:
gookit/slog Configuração usadago mod para instalar as dependências de gerenciamento Projeto Github https://github.com/inhere/go-web-skeleton
api/ API interface application handlers
|- controller/
|- middleware/
|_ routes.go
app/ Common directory (public methods, application initialization, public components, etc.)
cmd/ CLI command line application commands
|_ cliapp/ command line application entry file (main)
config/ Application configuration directory (basic configuration plus various environment configurations)
model/ Data and logic code directory
|- form/ Request form structure data definition, form validation configuration
|- logic/ Logic processing
|- mongo/ MongoDB data collection model definition
|- mysql/ MySQL data form model definition
|_ rds/ Redis data model definition
resource/ Non-code resources used by some projects (language files, view template files, etc.)
runtime/ Temporary file directory (file cache, log files, etc.)
static/ Static resource directory (js, css, etc.)
main.go Web application entry file
Dockerfile Dockerfile
Makefile Has written some common shortcut commands to help package, build docker, generate documentation, run tests, etc.
...
renderizar por
tree -d 2 ./
Use ✅ Mark Current Usado Go Package
Fornecer serviço HTTP e roteamento
Outro :
Aplicativo da linha de comando
Gerenciamento de configuração
Mysql:
MongoDB:
Redis:
Solicitar validação de dados
Biblioteca de serialização de alto desempenho
JSON:
Config Register Center:
Dockerfile : Docker Image Build Script para o ambiente de produção, baseado em alpino, construa uma imagem do projeto com um tamanho estimado de cerca de 30 mmakefile : Alguns comandos rápidos de fabricação foram criados para ajudar a gerar rapidamente documentação e criar imagens. go-web-skeleton para o nome do seu projeto.github.com/inhere/go-web-skeleton pelo nome do projeto (para o arquivo go)go-web-skeleton pelo nome do seu projeto (principalmente Dockerfile, Makefile)go mod tidy para instalar bibliotecas dependentesgo run main.gogo run ./cmd/appinitinstalação:
go get -u github.com/swaggo/swag/cmd/swagVerifique a documentação e exemplos de
swaggo/swag
Gerado para o diretório especificado:
swag init -o static
# This file will be generated at the same time. It can be deleted if it is not needed.
rm static/docs.goPerceber:
swaggo/swagé o campo Parsing Descrição Informações do comentário do campo
type SomeModel struct {
// the name description
Name string `json:"name" example:"tom"`
} Go test
// output coverage
Go test -covergofmt -s -l ./
go fmt ./...Nota: Você precisa instalar
GoLintprimeiro.
golint ./...Mit