You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.0 KiB
3.0 KiB
01-后端项目结构初始化
目标
创建 Go + Gin 后端项目的基础目录结构和配置文件。
前置要求
- Go 1.21+ 已安装
- 环境变量已配置
实施步骤
步骤 1:创建项目目录
cd I:\apps\demo\healthApps
mkdir -p server
cd server
步骤 2:初始化 Go 模块
go mod init health-ai
步骤 3:创建目录结构
mkdir -p cmd/server
mkdir -p internal/api/handler
mkdir -p internal/api/middleware
mkdir -p internal/model
mkdir -p internal/service
mkdir -p internal/repository/impl
mkdir -p internal/config
mkdir -p internal/database
mkdir -p pkg/jwt
mkdir -p pkg/response
mkdir -p pkg/utils
mkdir -p data
步骤 4:安装核心依赖
# Web 框架
go get -u github.com/gin-gonic/gin
# ORM
go get -u gorm.io/gorm
go get -u gorm.io/driver/sqlite
# 配置管理
go get -u github.com/spf13/viper
# 日志
go get -u go.uber.org/zap
# JWT
go get -u github.com/golang-jwt/jwt/v5
# 密码加密
go get -u golang.org/x/crypto/bcrypt
# 参数验证
go get -u github.com/go-playground/validator/v10
# 跨域
go get -u github.com/gin-contrib/cors
步骤 5:创建配置文件
创建 server/config.yaml:
server:
port: 8080
mode: debug # debug, release, test
database:
driver: sqlite # sqlite, postgres, mysql
sqlite:
path: ./data/health.db
postgres:
host: localhost
port: 5432
user: postgres
password: ""
dbname: health_app
mysql:
host: localhost
port: 3306
user: root
password: ""
dbname: health_app
jwt:
secret: your-secret-key-change-in-production
expire_hours: 24
ai:
provider: openai # openai, qwen
api_key: ""
base_url: ""
步骤 6:创建入口文件
创建 server/cmd/server/main.go:
package main
import (
"log"
)
func main() {
log.Println("Health AI Server Starting...")
// TODO: 初始化配置、数据库、路由
}
步骤 7:验证项目
cd server
go mod tidy
go run cmd/server/main.go
# 输出: Health AI Server Starting...
需要创建的文件清单
| 文件路径 | 说明 |
|---|---|
server/go.mod |
Go 模块定义 |
server/config.yaml |
配置文件 |
server/cmd/server/main.go |
程序入口 |
最终目录结构
server/
├── cmd/
│ └── server/
│ └── main.go
├── internal/
│ ├── api/
│ │ ├── handler/
│ │ └── middleware/
│ ├── model/
│ ├── service/
│ ├── repository/
│ │ └── impl/
│ ├── config/
│ └── database/
├── pkg/
│ ├── jwt/
│ ├── response/
│ └── utils/
├── data/
├── config.yaml
├── go.mod
└── go.sum
验收标准
- 目录结构创建完成
go mod tidy无报错go run cmd/server/main.go正常输出
预计耗时
10-15 分钟
下一步
完成后进入 02-后端开发/02-数据库和模型设计.md