## 博客交流群
2023-12-09:最近项目处于重构中,会经历快速迭代,线上版本不一定是最新,暂时不要上生产环境
2023-12-27: v2 版本重构 初步完成, 从之间的 Java 风格项目改为 Golang 风格, 还有些功能在修补!
2024-11-16: 最近忙于工作, 没怎么更新, 希望有兴趣的同学可以多多维护该项目, 感谢!
项目交流 QQ 群号:777260310
## 博客介绍
<p align=center>
<a href="http://www.hahacode.cn">
<img src="./images/头像.jpeg" width="200" hight="200" alt="阵、雨的个人博客" style="border-radius: 50%">
</a>
</p>
<p align="center">
<a target="_blank" href="#">
<img style="display: inline-block;" src="https://img.shields.io/badge/Go-1.19-blue"/>
<img style="display: inline-block;" src="https://img.shields.io/badge/Gin-v1.8.1-blue"/>
<img style="display: inline-block;" src="https://img.shields.io/badge/Casbin-v2.56.0-blue"/>
<img style="display: inline-block;" src="https://img.shields.io/badge/mysql-8.0-blue"/>
<img style="display: inline-block;" src="https://img.shields.io/badge/GORM-v1.24.0-blue"/>
<img style="display: inline-block;" src="https://img.shields.io/badge/redis-7.0-red"/>
<img style="display: inline-block;" src="https://img.shields.io/badge/vue-v3.X-green"/>
</a>
</p>
[在线预览](#在线预览) | [项目介绍](#项目介绍) | [技术介绍](#技术介绍) | [目录结构](#目录结构) | [环境介绍](#环境介绍) | [快速开始](#快速开始) | [总结&鸣谢](#总结鸣谢) | [后续计划](#后续计划)
您的 Star 是我坚持的动力,感谢大家的支持,欢迎提交 Pr 共同改进项目。
Github 地址:[https://github.com/szluyu99/gin-vue-blog](https://github.com/szluyu99/gin-vue-blog)
Gitee 地址:[https://gitee.com/szluyu99/gin-vue-blog](https://gitee.com/szluyu99/gin-vue-blog)
## 在线预览
> PS: 由于云服务器过期, 目前没有在线预览的网址哦
![前台首页图片](./images/前台首页.png)
![前台首页文章列表](./images/前台文章列表.png)
![后台文章列表](./images/后台文章列表.png)
## 有 Docker 环境可一键启动效果
Linux/Mac 可直接运行,Windows 要使用 GitBash 运行(默认终端不能执行 shell)
```bash
git clone https://github.com/szluyu99/gin-vue-blog
cd gin-vue-blog/deploy
./bootstrap.sh
```
## 项目介绍
Github 上有很多优秀的前后台框架,本项目也参考了许多开源项目,但是大多项目都比较重量级(并非坏处),如果从学习的角度来看对初学者并不是很友好。本项目在以**博客**这个业务为主的前提下,提供一个完整的全栈项目代码(前台前端 + 后台前端 + 后端),技术点基本都是最新 + 最火的技术,代码轻量级,注释完善,适合学习。
同时,本项目可用于一键搭建动态博客(参考 [快速开始](#快速开始))。
前台:
- 前台界面设计参考 Hexo 的 Butterfly 设计,美观简洁
- 响应式布局,适配了移动端
- 实现点赞,统计用户等功能 (Redis)
- 评论 + 回复评论功能
- 留言采用弹幕墙,效果炫酷
- 文章详情页有文章目录、推荐文章等功能,优化用户体验
后台:
- 鉴权使用 JWT
- 权限管理使用 CASBIN,实现基于 RBAC 的权限管理
- 支持动态权限修改,前端菜单由后端生成(动态路由)
- 文章编辑使用 Markdown 编辑器
- 常规后台功能齐全:侧边栏、面包屑、标签栏等
- 实现记录操作日志功能(GET 不记录)
- 实现监听在线用户、强制下线功能
- 文件上传支持七牛云、本地(后续计划支持更多)
- 对 CRUD 操作封装了通用 Hook
其他:
- 采用 Restful 风格的 API
- 前后端分离部署,前端使用 Nginx,后端使用 Docker
- 代码整洁层次清晰,利于开发者学习
- 技术点新颖,代码轻量级,适度封装
- Docker Compose 一键运行,轻松搭建在线博客
### 技术介绍
> 这里写一些主流的通用技术,详细第三方库:前端参考 `package.json` 文件,后端参考 `go.mod` 文件
前端技术栈: 使用 pnpm 包管理工具
- 基于 TypeScript
- Vue3
- VueUse: 服务于 Vue Composition API 的工具集
- Unocss: 原子化 CSS
- Pinia
- Vue Router
- Axios
- Naive UI
- ...
后端技术栈:
- Golang
- Docker
- Gin
- GORM
- Viper: 支持 TOML (默认)、YAML 等常用格式作为配置文件
- Casbin
- Zap
- MySQL
- Redis
- Nginx: 部署静态资源 + 反向代理
- ...
其他:
- 腾讯云人机验证
- 七牛云对象存储
- ...
### 目录结构
> 这里简单列出目录结构,具体可以查看源码
代码仓库目录:
```bash
gin-vue-blog
├── gin-blog-admin -- 博客后台前端
├── gin-blog-front -- 博客前台前端
├── gin-blog-server -- 博客后端
├── deploy -- 部署
```
> 项目运行参考:[快速开始](#快速开始)
后端目录:简略版
```bash
gin-blog-server
├── api -- API
│ ├── front -- 前台接口
│ └── v1 -- 后台接口
├── dao -- 数据库操作模块
├── service -- 服务模块
├── model -- 数据模型
│ ├── req -- 请求 VO 模型
│ ├── resp -- 响应 VO 模型
│ ├── dto -- 内部传输 DTO 模型
│ └── ... -- 数据库模型对象 PO 模型
├── routes -- 路由模块
│ └── middleware -- 路由中间件
├── utils -- 工具模块
│ ├── r -- 响应封装
│ ├── upload -- 文件上传
│ └── ...
├── routes -- 路由模块
├── config -- 配置文件
├── test -- 测试模块
├── assets -- 资源文件
├── log -- 存放日志的目录
├── public -- 外部访问的静态资源
│ └── uploaded -- 本地文件上传目录
├── Dockerfile
└── main.go
```
前端目录:简略版
```
gin-vue-admin / gin-vue-front 通用目录结构
├── src
│ ├── api -- 接口
│ ├── assets -- 静态资源
│ ├── styles -- 样式
│ ├── components -- 组件
│ ├── composables -- 组合式函数
│ ├── router -- 路由
│ ├── store -- 状态管理
│ ├── utils -- 工具方法
│ ├── views -- 页面
│ ├── App.vue
│ └── main.ts
├── settings -- 项目配置
├── build -- 构建相关的配置
├── public -- 公共资源, 在打包后会被加到 dist 根目录
├── package.json
├── package-lock.json
├── index.html
├── tsconfig.json
├── unocss.config.ts -- unocss 配置
└── vite.config.ts -- vite 配置
├── .env -- 通用环境变量
├── .env.development -- 开发环境变量
├── .env.production -- 线上环境变量
├── .gitignore
├── .editorconfig -- 编辑器配置
```
部署目录:简略版
```
deploy
├── build -- 镜像构建
│ ├── mysql -- mysql 镜像构建
│ ├── server -- 后端镜像构建 (基于 gin-blog-server 目录)
│ └── web -- 前端镜像构建 (基于前端项目打包的静态资源)
└── start
├── docker-compose.yml -- 多容器管理
└── .env -- 环境变量
└── ...
```
## 环境介绍
### 线上环境
服务器:腾讯云 2核 4G Ubuntu 22.04 LTS
对象存储:七牛云
### 开发环境
| 开发工具 | 说明 |
| ----------------------------- | --
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
博客交流群2023-12-09最近的项目在重构中,会经历快速迭代,线上版本不一定是最新的,暂时不要上生产环境2023-12-27v2 版本重构初步完成,从之间的 Java 风格项目 Golang 风格,还有一些功能在修复!2024-11-16: 最近忙于工作,没怎么更新,希望有兴趣的同学可以多多维护该项目,谢谢!项目交流QQ群号777260310博客 在线预告|项目介绍|技术介绍|目录结构|环境介绍|快速开始|总结&鸣谢 |后续计划您的星星是我坚持不懈的动力,感谢大家的支持,欢迎提交共同改进项目。Github地址https://github.com/szluyu99/gin-vue-blogGitee 地址https://gitee.com/szluyu99/gin-vue-blog在线网页PS由于云服务器过期,目前没有在线预览的网址哦有 Docker 环境可一键启动效果Linux/Mac可以直接运行,Windows需要使用GitBash运行(默认终端不能执行shell)git clone https://githu
资源推荐
资源详情
资源评论
收起资源包目录
Golang全栈博客,支持Docker Compose一键部署。基于最新前端技术栈Vue3、TS、Unocs 、Redis等。前端包含博文展示前台、博客后台管理系统。平台包含JWT鉴权、RBA.zip (17个子文件)
标签.txt 53B
LICENSE 1KB
Dockerfile 1KB
资源内容.txt 1016B
deploy
clean_docker.sh 553B
bootstrap.sh 380B
build_web.sh 490B
build
mysql
gvb.sql 64KB
Dockerfile 525B
run.sh 217B
README.md 395B
mysql.cnf 241B
server
README.md 162B
.gitignore 105B
README.md 6KB
.gitignore 368B
README.md 15KB
共 17 条
- 1
资源评论
徐浪老师
- 粉丝: 8460
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- py-apple-controller-四足机器人
- py-apple-bldc-quadruped-robot-四足机器人
- 四足机器人-四足机器人
- asm-西电微机原理实验
- 四足机器人行走机制设计与应用解析
- 探索POINTS 1.5视觉思考模型:开启高效思考之门
- 支持 DELPHI 12.2的RXLIB 控件
- game_patch_1.29.13.13020.pak
- 4S店车辆管理系统.zip
- J2EE在在线项目管理与任务分配中的应用_411v2rh8_226-wx.zip
- “课件通”中小学教学课件共享平台.zip
- Java Web的租房管理系统(编号:22787207).zip
- Java大学生创新能力培养平台的设计与实现(编号:49116136).zip
- JavaWeb图书管理系统(编号:29027118)(1).zip
- springboot4S店车辆管理系统 LW PPT.zip
- spingboot茶文化推广系统(编号:3018432).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功