喵玉殿新版论坛,monorepo 结构。
| 部分 | 目录 | 技术 |
|---|---|---|
| 后端 | apps/server/ |
Go + Gin + GORM + PostgreSQL |
| 前端 | apps/web/ |
Vue 3 + Vite + Naive UI + Pinia |
| 文档 | docs/ |
VitePress |
- Node.js >= 20
- pnpm >= 10
- Go(用于后端开发)
- Podman(用于运行 PostgreSQL)
pnpm installcp apps/server/.env.example apps/server/.env
cp apps/server/.env.postgres.example apps/server/.env.postgres编辑 .env 和 .env.postgres 按需修改。
不懂 Podman 的话:
./apps/server/podman-db.ps1 start另外,stop 可关闭,remove 可移除。
懂 Podman 的话:
# 生成并启动
podman kube play ./apps/server/pod.yaml
# 停止并移除
podman kube down ./apps/server/pod.yamlmigrate -source file://apps/server/database/migrations \
-database "postgres://forum_user:password@localhost:5432/forum?sslmode=disable" uppnpm devcd apps/server && go run ./cmd/server# 前端
pnpm dev # 启动 Vite 开发服务器(端口 10123)
pnpm build # 类型检查 + 构建
# 后端
go run ./cmd/server # 启动服务器(端口 10127)
go build ./... # 编译检查
# 数据库
./apps/server/podman-db.ps1 start # 启动 pod + 容器
./apps/server/podman-db.ps1 stop # 停止并移除 pod
./apps/server/podman-db.ps1 status # 查看状态
./apps/server/podman-db.ps1 remove # 移除 pod 及所有资源
# 文档
pnpm docs:dev # VitePress 开发服务器(端口 10126)
pnpm docs:build # 构建文档neonya/
├── apps/
│ ├── server/ # Go 后端
│ │ ├── cmd/server/ # 入口
│ │ ├── internal/ # 业务逻辑(auth/plate/post)
│ │ ├── database/ # 迁移文件
│ │ └── pod.yml # Podman pod 声明
│ └── web/ # Vue 前端
│ └── src/
│ ├── features/ # 功能模块
│ └── shared/ # 共享组件/工具
├── docs/ # VitePress 文档
├── scripts/ # 辅助脚本
└── pnpm-workspace.yaml