go web skeleton
1.0.0
Un esqueleto completo de la aplicación web de Golang.
中文说明
Contiene:
gookit/slog utilizadago mod para instalar las dependencias de gestión Proyecto 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 ./
Usar el paquete ✅ Mark Current Used GO
Proporcionar servicio y enrutamiento HTTP
Otro :
Aplicación de línea de comandos
Gestión de configuración
Mysql:
MongoDB:
Redis:
Solicitar validación de datos
Biblioteca de serialización de alto rendimiento
JSON:
Centro de registro de configuración:
Dockerfile : Docker Image Built Script para el entorno de producción, basado en Alpine, crea una imagen de proyecto con un tamaño estimado de alrededor de 30 mmakefile : se han construido algunos comandos rápidos para ayudar a generar rápidamente documentación y crear imágenes. go-web-skeleton al nombre de su proyecto.github.com/inhere/go-web-skeleton con el nombre de su proyecto (para el archivo GO)go-web-skeleton con el nombre de su proyecto (principalmente Dockerfile, Makefile)go mod tidy para instalar bibliotecas dependientesgo run main.gogo run ./cmd/appinitinstalación:
go get -u github.com/swaggo/swag/cmd/swagConsulte la documentación y los ejemplos de
swaggo/swag
Generado en el directorio 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.goAviso:
swaggo/swages la información de descripción del campo de análisis del comentario del 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: Primero debe instalar
GoLint.
golint ./...MIT