healthapp
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

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