# gin-zone
**Repository Path**: jiang-xia/gin-zone
## Basic Information
- **Project Name**: gin-zone
- **Description**: go giweb框架 vue3 前端h5页面和后台管理系统
gin-zone 包含了admin和client两个前端项目,server一个后端服务。
go gin uniapp 练手项目 具体说明可以查看子文件夹
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: https://jiang-xia.top/zone/pages/chat/index
- **GVP Project**: No
## Statistics
- **Stars**: 3
- **Forks**: 1
- **Created**: 2023-03-04
- **Last Updated**: 2026-03-05
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
🚀 Gin Zone
一个现代化的全栈开发练手项目
Go + React + UniApp 技术栈的完整实现
[](./LICENSE)
[](https://golang.org/)
[](https://reactjs.org/)
[](https://uniapp.dcloud.net.cn/)
[](https://gin-gonic.com/)
## 📖 项目介绍
Gin Zone 是一个基于现代化技术栈的全栈开发练手项目,采用前后端分离架构,旨在为开发者提供一个完整的学习和实践平台。项目涵盖了社交动态、实时聊天、博客系统、后台管理等多个核心功能模块。
### 🎯 项目特色
- **🏗️ 现代化架构**:采用前后端分离,微服务化设计思想
- **📱 一码多端**:基于 UniApp 实现 H5、小程序、APP 多端发布
- **⚡ 高性能后端**:Go + Gin 提供高并发、低延迟的 API 服务
- **🎨 现代化前端**:React + TypeScript + Ant Design 构建管理后台
- **💬 实时通信**:WebSocket 实现的实时聊天功能
- **🔐 完善权限**:JWT 认证 + 路由守卫的安全体系
- **📊 数据可视化**:图表展示和数据分析功能
- **🚀 工程化**:Husky + Commitlint 规范化开发流程
## 🛠️ 技术栈
### 后端服务 (Server)
| 技术 | 版本 | 说明 |
|------|------|------|
| Go | 1.23.3 | 开发语言 |
| Gin | 1.10.0 | Web框架 |
| GORM | 1.25.12 | ORM框架 |
| MySQL | 8.0+ | 关系型数据库 |
| Redis | latest | 缓存数据库 |
| JWT | 4.5.1 | 身份认证 |
| WebSocket | latest | 实时通信 |
| Swagger | 1.16.4 | API文档 |
| Logrus | 1.9.3 | 日志记录 |
### 前端管理后台 (Admin)
| 技术 | 版本 | 说明 |
|------|------|------|
| React | 18.2.0 | 前端框架 |
| TypeScript | 4.4.2 | 类型系统 |
| Ant Design | 5.4.0 | UI组件库 |
| Redux Toolkit | 1.9.3 | 状态管理 |
| React Router | 6.x | 路由管理 |
| Axios | 1.3.5 | HTTP客户端 |
| Craco | 7.1.0 | 构建工具 |
### 跨端客户端 (Client)
| 技术 | 版本 | 说明 |
|------|------|------|
| Vue | 3.x | 前端框架 |
| UniApp | latest | 跨端框架 |
| Vite | latest | 构建工具 |
| uni-ui | latest | UI组件库 |
| dayjs | 1.11.13 | 日期处理 |
| marked | 4.2.12 | Markdown解析 |
| prismjs | 1.29.0 | 代码高亮 |
## ✨ 核心功能
### 🔐 用户系统
- 用户注册/登录、微信授权登录
- JWT令牌认证、密码加密
- 用户信息管理、头像上传
- 权限控制和路由守卫
### 📝 动态模块
- 发布动态、图片/视频上传
- 点赞浏览统计、动态列表展示
- 地理位置标记、时间管理
- 富文本编辑、Markdown支持
### 💬 聊天系统
- WebSocket实时通信
- 私聊/群聊功能
- 好友管理、聊天记录
- AI聊天集成、表情支持
### 📱 博客系统
- 文章发布和管理
- Markdown编辑器
- 代码高亮显示
- 文章分类和标签
### 📊 数据展示
- 图表可视化
- 数据统计分析
- 支付转账演示
- 扫码功能
### 🔧 管理后台
- 动态内容管理
- 用户信息管理
- 数据统计报表
- 系统配置管理
## 📁 项目结构
```
gin-zone/
├── server/ # 后端服务 (Go + Gin)
│ ├── app/ # 应用核心代码
│ │ ├── controller/ # 控制器层
│ │ ├── service/ # 业务逻辑层
│ │ ├── model/ # 数据模型
│ │ ├── cron/ # 定时任务
│ │ └── database/ # 数据库配置
│ ├── config/ # 配置文件
│ ├── middleware/ # 中间件
│ ├── router/ # 路由配置
│ ├── pkg/ # 工具包
│ ├── docs/ # API文档
│ ├── storage/ # 数据库脚本
│ └── main.go # 程序入口
├── admin/ # 管理后台 (React + TypeScript)
│ ├── src/
│ │ ├── api/ # API接口
│ │ ├── pages/ # 页面组件
│ │ ├── components/ # 公共组件
│ │ ├── redux/ # 状态管理
│ │ ├── routers/ # 路由配置
│ │ └── utils/ # 工具函数
│ └── package.json
├── client/ # 跨端客户端 (UniApp + Vue3)
│ ├── pages/ # 页面路由
│ ├── components/ # 自定义组件
│ ├── uni_modules/ # UI组件库
│ ├── stores/ # 状态管理
│ ├── common/ # 公共资源
│ ├── static/ # 静态资源
│ └── package.json
├── scripts/ # 自动化脚本
│ ├── install.sh # 依赖安装
│ └── run.sh # 启动脚本
└── package.json # 根目录配置
```
## 🚀 快速开始
### 环境要求
- **Go** 1.23.3+
- **Node.js** 16.0.0+
- **MySQL** 8.0+
- **Redis** latest
- **Git** latest
### 一键安装
```bash
# 克隆项目
git clone https://github.com/Jiang-Xia/gin-zone.git
cd gin-zone
# 安装所有依赖
npm run i:all
# 或者使用脚本
bash ./scripts/install.sh
```
### 数据库配置
1. 创建MySQL数据库
```sql
CREATE DATABASE zone_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
2. 导入数据库结构
```bash
mysql -u root -p zone_db < server/storage/zone.sql
```
3. 导入初始数据(可选)
```bash
mysql -u root -p zone_db < server/storage/initData.sql
```
4. 配置环境变量
```bash
# 复制并修改配置文件
cp server/config/env.ini server/config/env.local.ini
# 根据实际情况修改数据库连接信息
```
### 启动服务
#### 一键启动所有服务
```bash
npm run r:all
# 或者使用脚本
bash ./scripts/run.sh
```
#### 分别启动服务
**后端服务**
```bash
cd server
# 开发环境(推荐使用Air热重载)
air
# 或直接运行
go run main.go
```
**管理后台**
```bash
cd admin
npm start
# 默认端口: 3001
```
**客户端**
```bash
cd client
# H5开发
npm run dev:h5
# 微信小程序
npm run dev:mp-weixin
# 使用HBuilderX(推荐)
# 用HBuilderX打开client文件夹,点击运行
```
### 访问地址
- **后端API**: http://localhost:9600
- **API文档**: http://localhost:9600/api/v1/swagger/index.html
- **管理后台**: http://localhost:3001
- **客户端H5**: http://localhost:3000
## 📱 在线预览
### 🌐 在线体验
- **H5版本**: [Gin Zone](https://jiang-xia.top/zone/#/pages/blog/index)
- **管理后台**: [Zone Admin](https://admin.jiang-xia.top)
- **API文档**: [Swagger文档](https://jiang-xia.top/x-zone/api/v1/swagger/index.html)
### 📱 移动端体验
| APP下载 | H5页面 | 微信小程序 | 支付宝小程序 |
|-----------|--------|-----------|--------|
|
|
|
|
|
| 扫码下载APP | 扫码体验H5页面| 扫码体验小程序 | 扫码体验小程序 |
## 📚 详细文档
### Server端 (详细文档请查看 [server/README.md](./server/README.md))
- **架构设计**: MVC分层架构,中间件模式
- **API接口**: RESTful API设计,Swagger文档
- **数据库**: GORM + MySQL + Redis
- **认证授权**: JWT + 微信登录
- **实时通信**: WebSocket聊天系统
- **定时任务**: Cron定时任务调度
- **日志系统**: 结构化日志记录
- **文件上传**: 多媒体文件处理
### Client端 (详细文档请查看 [client/README.md](./client/README.md))
- **跨端开发**: 一套代码多端发布
- **UI组件**: 丰富的uni-ui组件库
- **状态管理**: Vuex状态管理
- **网络请求**: 统一的API请求封装
- **富文本**: Markdown解析和代码高亮
- **实时聊天**: WebSocket客户端实现
- **国密加密**: 安全通信支持
- **多环境**: SIT/UAT/PROD环境配置
### Admin端 (详细文档请查看 [admin/README.md](./admin/README.md))
- **现代化UI**: React 18 + Ant Design 5
- **类型安全**: TypeScript完整类型定义
- **状态管理**: Redux Toolkit
- **路由管理**: React Router 6
- **动态管理**: 社交动态内容管理
- **用户认证**: 多种登录方式
- **数据展示**: 高级表格和图表组件
## 🚀 部署指南
### Docker部署(推荐)
```bash
# 构建镜像
docker-compose build
# 启动服务
docker-compose up -d
```
### 传统部署
```bash
# 后端编译 部署linux系统
set CGO_ENABLED=0
# 坑点:这是window cmd中的语法
set GOOS=linux
# powershell 需要使用以下命令设置
$env:GOOS="linux"
set GOARCH=amd64
cd server
go build -o zone-server main.go
# 前端构建
cd admin
npm run build
cd client
npm run build
```
## 🤝 贡献指南
欢迎提交 Issue 和 Pull Request!
1. Fork 本仓库
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 打开 Pull Request
### 提交规范
本项目使用 [Conventional Commits](https://www.conventionalcommits.org/) 规范:
```bash
feat: 新功能
fix: 修复bug
docs: 文档更新
style: 代码格式
refactor: 重构
test: 测试
chore: 构建/工具
```
## 🔗 相关链接
### 代码仓库
- **Gitee**: [gin-zone](https://gitee.com/jiang-xia/gin-zone)
- **GitHub**: [gin-zone](https://github.com/Jiang-Xia/gin-zone)
### 技术文档
- [Go官方文档](https://golang.org/doc/)
- [Gin框架文档](https://gin-gonic.com/zh-cn/docs/)
- [React官方文档](https://reactjs.org/docs/)
- [UniApp官方文档](https://uniapp.dcloud.net.cn/)
- [Ant Design组件库](https://ant.design/components/overview-cn/)
## 📄 开源协议
本项目基于 [MIT](./LICENSE) 协议开源。
## 👨💻 开源作者
**jiang-xia**
- 邮箱:963798512@qq.com
- 博客:[https://jiang-xia.top](https://jiang-xia.top)
- Gitee:[https://gitee.com/jiang-xia](https://gitee.com/jiang-xia)
---
⭐ 如果这个项目对你有帮助,请给一个 Star 支持一下!