{"repo":"szluyu99/gin-vue-blog","free":true,"listed":false,"github":"https://github.com/szluyu99/gin-vue-blog","clone":"git clone https://github.com/szluyu99/gin-vue-blog.git","description":"Golang 全栈博客，支持 Docker Compose 一键部署。基于最新前后端技术栈 Vue3、TS、Unocs 、Redis 等。前端包含博文展示前台、博客后台管理系统。后端包含 JWT 鉴权、RBAC 权限控制等。代码质量高注释全接口文档完善，适合前后端开发者学习。","language":"Go","stars":764,"topics":["blog","gin","golang","gorm","vue3","typescript","rbac","docker"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"博客交流群 2023-12-09：最近项目处于重构中，会经历快速迭代，线上版本不一定是最新，暂时不要上生产环境 2023-12-27: v2 版本重构 初步完成, 从之间的 Java 风格项目改为 Golang 风格, 还有些功能在修补! 2024-11-16: 最近忙于工作, 没怎么更新, 希望有兴趣的同学可以多多维护该项目, 感谢! 项目交流 QQ 群号：777260310 博客介绍 在线预览 项目介绍 技术介绍 目录结构 环境介绍 快速开始 总结&鸣谢 后续计划 您的 Star 是我坚持的动力，感谢大家的支持，欢迎提交 Pr 共同改进项目。 Github 地址：https://github.com/szluyu99/gin-vue-blog Gitee 地址：https://gitee.com/szluyu99/gin-vue-blog 在线预览 PS: 由于云服务器过期, 目前没有在线预览的网址哦 有 Docker 环境可一键启动效果 Linux/Mac 可直接运行，Windows 要使用 GitBash 运行（默认终端不能执行 shell） 项目介绍 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: 部署静态资源 + 反向代理 - ... 其他: - 腾讯云","default_branch":null,"files":null,"tree":[],"storefront":"/r/szluyu99","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/szluyu99/gin-vue-blog/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}