Ech0Ech0
开发指南

开发指南

开发环境搭建和前后端联调指南

项目架构

技术架构图

by ExcaliDraw


开发指南

后端环境要求

📌 Go 1.25.1+

📌 C 编译器
使用 go-sqlite3 等需要 CGO 的库时,需安装:

  • Windows:
    • MinGW-w64
    • 解压后将bin目录添加到PATH
  • macOS: brew install gcc
  • Linux: sudo apt install build-essential

📌 Google Wire
安装wire用于依赖注入文件生成:

  • go install github.com/google/wire/cmd/wire@latest

📌 Golangci-Lint
安装Golangci-Lint用于lint和fmt:

  • 在项目根目录下执行golangci-lint run进行lint
  • 在项目根目录下执行golangci-lint fmt进行格式化

📌 Swagger
安装Swagger用于生成和使用符合OpenAPI规范的接口文档

  • 在项目根目录下执行swag init -g internal/server/server.go -o internal/swagger后生成或更新swagger文档
  • 打开浏览器访问http://localhost:6277/swagger/index.html查看和使用swagger文档

前端环境要求

📌 NodeJS v24.5.0+, PNPM v10.17.1+

注:如需要多个nodejs版本共存可使用fnm进行管理


启动前后端联调

第一步: 后端(在 Ech0 根目录下):

go run main.go # 编译并启动后端

如果依赖注入关系发生了变化先需要在ech0/internal/di/下执行wire命令生成新的wire_gen.go文件

第二步: 前端(新终端):

cd web # 进入前端目录

pnpm install # 如果没有安装依赖则执行

pnpm dev # 启动前端预览

第三步: 前后端启动后访问:
前端预览: http://localhost:5173 (端口在启动后可在控制台查看)
后端预览: http://localhost:6277 (默认后端端口为6277)

对使用层次化架构的包进行导入时,请使用规范的 alias 命名
model 层: xxxModel
util 层: xxxUtil
handler 层: xxxHandler
service 层: xxxService
repository 层: xxxRepository