go web skeleton
1.0.0
هيكل عظمي كامل لتطبيق ويب Golang.
中文说明
يتضمن:
gookit/slog Configurationgo mod لتثبيت تبعيات الإدارة GitHub Project 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.
...
تقديم بواسطة
tree -d 2 ./
استخدم ✅ وضع علامة على حزمة GO الحالية المستخدمة
توفير خدمة HTTP والتوجيه
آخر :
تطبيق سطر الأوامر
إدارة التكوين
MySQL:
مونغودب:
ريديس:
طلب التحقق من صحة البيانات
مكتبة تسلسل عالية الأداء
JSON:
مركز تسجيل التكوين:
Dockerfile : برنامج Docker Image Build Script لبيئة الإنتاج ، استنادًا إلى جبال الألب ، قم بإنشاء صورة للمشروع بحجم تقديري حوالي 30 مmakefile : تم تصميم بعض الأوامر السريعة للمساعدة في إنشاء الوثائق وإنشاء الصور بسرعة. go-web-skeleton إلى اسم مشروعك.github.com/inhere/go-web-skeleton باسم مشروعك (للحصول على ملف GO)go-web-skeleton باسم مشروعك (Dockerfile بشكل رئيسي ، Makefile)go mod tidy لتثبيت المكتبات المعتمدةgo run main.gogo run ./cmd/appinitتثبيت:
go get -u github.com/swaggo/swag/cmd/swagيرجى التحقق من وثائق وأمثلة من
swaggo/swag
تم إنشاؤه إلى الدليل المحدد:
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.goيلاحظ:
swaggo/swagهي معلومات وصف مجال التحليل من تعليق الحقل
type SomeModel struct {
// the name description
Name string `json:"name" example:"tom"`
} Go test
// output coverage
Go test -covergofmt -s -l ./
go fmt ./...ملاحظة: تحتاج إلى تثبيت
GoLintأولاً.
golint ./...معهد ماساتشوستس للتكنولوجيا