Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

goframe golang postgresql

zread

老版本请看v1分支

简介

DevingGo 是基于 GoFrame v2.9 的企业级前后端一体化开发框架,采用模块化架构,内置权限管理、代码生成、任务调度等功能,支持 Vibe Coding(AI 辅助编程)一键生成前后端代码。

核心特性:

  • 🚀 高性能 — 基于 GoFrame,发挥 Go 高并发优势
  • 🤖 Vibe Coding — AI 辅助编程,一键生成前后端代码
  • 📦 模块化 — 插件化模块系统,支持独立开发和热插拔
  • 🛠️ 代码生成 — 一键生成 CRUD / Worker / Module 代码
  • 🔐 安全可靠 — RBAC 权限模型,JWT 认证
  • 🔗 分布式 WebSocket — 完整实现 Pusher Protocol v8.3.0
  • 异步任务队列 — 基于 Asynq,支持任务重试和监控
  • 🔍 链路追踪 — 集成 OpenTelemetry + Jaeger

演示地址: http://122.152.211.127:8070 (账号 superAdmin / admin123) | 文档: zread.ai/huagelong/devinggo

功能特性

  • 系统管理 — 用户 / 部门 / 岗位 / 角色 / 菜单 / 字典 / 参数 / 应用管理(RBAC + 数据权限)
  • 开发工具 — 代码生成器(CRUD / Worker / Module)、API 管理与授权、OpenAPI 文档自动生成
  • 任务调度 — Cron 定时任务、任务日志、Asynq 异步消息队列(重试与失败处理)
  • 监控与日志 — 操作日志、登录日志、API 日志、系统监控(Redis / 在线用户 / 服务器状态)
  • 通用功能 — 通知公告、消息管理、附件管理(本地 / 对象存储)、模块导入导出
  • 基础能力 — 分布式 WebSocket、多语言、多主题、Docker 部署、链路追踪、Redis 缓存、数据库版本化迁移

技术栈

类别后端前端 (admin-ui)
核心GoFrame v2.9 / Go 1.23.4Vue 3 + TypeScript
数据库PostgreSQL >= 13
缓存/队列Redis >= 5 / Asynq v0.24.1
构建Vite
UI / 状态Vue Vben Admin / Tdesign Vue / Pinia
其他JWT、golang-migrate、excelize、OpenTelemetry、雪花算法 IDVue Router / Axios

项目结构

devinggo/
├── api/                    # 全局 API 定义
├── internal/               # 内部核心(cmd/controller/logic/service/dao/model/router)
├── modules/                # 业务模块(插件化,含 system 核心模块)
├── admin-ui/               # 前端管理界面(Vue3 + Vite)
├── hack/generator/         # 代码生成器
├── .codex/skills/          # Codex Skill 配置(AI 代码生成)
├── manifest/config/        # 配置文件
├── resource/               # 静态资源(i18n / migrations / public)
└── main.go                 # 程序入口

分层架构:API → Controller → Logic → Service → DAO(其中 DAO / Entity / DO / Service 由工具自动生成)。详见 模块架构说明

AI 大模型一键初始化

推荐使用 Codex。 本项目内置两个 Skill:devinggo-project-init(环境检查与项目初始化)和 devinggo-generator(代码生成)。 在 Codex 中直接使用下列提示词即可;使用其他 AI 工具时,请将 .codex/skills/ 下的 Skill 文件配置到对应工具,并保留 Skill 名称。

使用codex初始化环境与服务:

使用 $devinggo-project-init 帮我检查本机环境,配置 DevingGo,初始化数据库,并启动后端、Worker 和前端服务。

该 Skill 会检查 Go、GoFrame CLI、Node、pnpm、PostgreSQL、Redis、Make 等依赖,缺失时提示安装,并在迁移、安装依赖、启动服务前说明影响范围。

快速开始

环境要求

Go >= 1.23.4、PostgreSQL >= 13、Redis >= 5、Make(推荐)

Windows 需安装 make,可通过 ChocolateyScoop 或下载 MinGW make 并加入 PATH。

make 编译环境安装(Chocolatey 方式):

打开 cmd(管理员权限)执行:

@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

或打开 PowerShell(管理员权限)执行:

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

安装 make、sed、golang、nodejs:

choco install make
choco install sed
choco install golang
choco install nodejs

手动步骤

git clone https://github.com/huagelong/devinggo.git && cd devinggo

# 1. 配置文件准备
# 后端配置(生产部署)
cp manifest/config/config.example.yaml manifest/config/config.yaml   # 复制配置模板
# 修改 manifest/config/config.yaml 中的 PostgreSQL、Redis 连接信息

# 开发配置(本地开发时使用)
cp hack/config.example.yaml hack/config.yaml   # 复制开发配置模板
# 修改 hack/config.yaml 中的 PostgreSQL、Redis 连接信息

# 2. 构建与启动
make build                                                           # 构建
go run main.go migrate:up                                                # 迁移数据库
go run main.go                                                          # 启动(HTTP + Worker)

访问地址: API http://localhost:8070 | 文档 http://localhost:8070/swagger | 账号 superAdmin / admin123

部署

Docker

# 使用codex

请帮我基于当前项目构建 DevingGo Docker 镜像,并根据我的数据库和 Redis 地址生成部署步骤。

二进制部署

make build              # 产物输出到 bin/<version>/<os>_<arch>/
./devinggo unpack       # 释放配置与资源(首次执行,生成 .init.lock)
./devinggo migrate:up   # 迁移
./devinggo              # 启动

unpack 只需首次执行一次,重新初始化请先删除 .init.lock。生产环境推荐使用 systemd 或 supervisor 托管进程(参考 docs/devinggo.service),并务必修改 token.secretKeysettings.aesKey 及数据库、Redis 密码等默认配置。

开发指南

分层架构职责

层级职责
API定义请求/响应结构,参数验证
Controller接收请求,参数绑定,调用 Logic
Logic业务逻辑实现,事务控制
Service服务接口(由 Logic 实现)
DAO数据访问封装(自动生成)

API 规范

启动后访问 http://localhost:8070/swagger

  • 认证:JWT,Header Authorization: Bearer <token>
  • 响应{ code, message, data, timestamp }
  • 分页page(页码)、pageSize(每页数量)

代码生成(Codex Skill)

创建模块、生成 CRUD、创建 Worker 任务均可通过 Skill 完成:

使用 $devinggo-generator 创建名为 blog 的新模块。
使用 $devinggo-generator 为 system 模块的 system_user 表生成用户 CRUD 代码。
使用 $devinggo-generator 在 system 模块创建名为 SendEmail 的异步任务。
使用 $devinggo-generator 导出 / 导入模块。
使用 $devinggo-generator 查看支持的代码生成能力。

也可使用 $devinggo-project-init 执行数据库迁移、查看迁移状态、启动服务、更新 DAO/Service 接口等操作。详见 代码生成工具Skill 配置

配置说明

主配置文件:manifest/config/config.yaml

server:
  address: ":8070"
  openapiPath: "/api.json"
  swaggerPath: "/swagger"
database:
  default:
    link: "pgsql:host=127.0.0.1 port=5432 dbname=devinggo user=postgres password=123456 sslmode=disable"
redis:
  default:
    address: "127.0.0.1:6379"
jwt:
  secret: "your-secret-key"
  expire: 7200
asynq:
  addr: "127.0.0.1:6379"
  db: 1
  concurrency: 10

常见问题

问题解决方案
修改端口manifest/config/config.yamlserver.address
启用调试database.default.debug: true
迁移失败检查 PostgreSQL 配置,查看 logs/ 日志
JWT 过期时间修改 jwt.expire(秒)
Worker 不执行$devinggo-project-init 检查 Worker 与 Redis 连接
API 返回 401Token 过期,重新登录

交流与协议

如果项目对您有帮助,欢迎点右上角 Star 收藏支持!

Star History

Star History Chart

关于 About

📱🚀 🧩devinggo 是一款基于 Vue 和 Goframe v2 的全栈开发平台,适配 vibe coding,集成 JWT 鉴权、动态路由、消息队列等功能,提供丰富场景模板,助您快速构建企业级应用,专注业务开发。
admingoframegolangvitevue3

语言 Languages

Go100.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
267
Total Commits
峰值: 69次/周
Less
More

核心贡献者 Contributors