POETIZE - 最美博客:基于 SpringBoot + Vue 的个人博客与聊天室 IM 系统
POETIZE 是作者 LittleDonkey(Sara)在 Gitee 开源的前后端分离个人网站项目,包含博客系统与聊天室 IM 系统两大模块。博客系统提供文章、表白墙、图片墙、收藏夹(百宝箱)、音乐播放、视频播放、留言、友链与后台管理等功能;聊天室系统提供朋友圈、好友、群等功能。后端采用 SpringBoot 2.7 + Mybatis-Plus + T-io,数据库为 MySQL,两个前端分别使用 Vue2(Element UI)与 Vue3(Element-Plus + Naive UI),通过 Nginx 代理,页面做了移动端自适应。项目采用 AGPL-3.0 许可证,提供 README 本地启动说明与在线部署文档,适合具备一定编程能力、希望搭建个人博客或学习全栈项目的开发者在遵守许可证的前提下参考学习与自建。
社区作者 · zZz
它解决什么问题
POETIZE(意为“作诗,有诗意地描写”)是一个使用 SpringBoot 和 Vue 实现的个人网站项目,定位为“最美博客”。作者自述从 2021 年 6 月 16 日开始搭建,2022 年 8 月 21 日发布第一个版本,2023 年开源,2024 年 4 月 15 日暂停开源版维护,2025 年 7 月 1 日起缓慢维护;2024 年 5 月 1 日起在开源版基础上另行推出付费版。
技术栈(来自 README 表格):
- 后端:SpringBoot 2.7,组件为 Nginx + MySQL + Mybatis-Plus + T-io;
- 博客前端:Vue2 + Element UI;
- 聊天室前端:Vue3 + Element-Plus UI + Naive UI;
- 移动适配:CSS 完美自适应。
系统分为两个模块:
- 博客系统:文章、表白墙、图片墙、收藏夹、音乐播放、视频播放、留言、友链、后台管理等功能;
- 聊天室系统:朋友圈、好友、群等功能。
架构说明:网站采用前后端分离实现,两个前端项目通过 Nginx 代理,后端使用 Java,数据存储使用 MySQL。部署网站需要安装 Nginx、Java、MySQL,然后打包前后端项目并部署。文件服务可以使用七牛云,也可以使用服务器,默认使用服务器。Vue3(IM 聊天室系统)是非必须的;如果部署,则需要依赖博客,然后从博客的“联系我”进入,因为登录模块在博客。
仓库结构目录包括:poetize-im-ui、poetize-server、poetize-ui、poetize_picture、.gitignore、LICENSE、README.md;分支有 master、develop、develop-whb、develop-zsy,标签 v2.0。仓库统计信息显示 Star 约 4.1K、Fork 855、Watch 102(页面显示值)。
资源地址(来源给出):项目地址 https://gitee.com/littledokey/poetize;专栏文章 https://poetize.cn/label/41;部署文档 https://poetize.cn/article/124;七牛云登录/注册地址(文件服务/CDN)https://s.qiniu.com/Mz6Z32。付费版官网 https://poetize.cn,购买页 https://poetize.cn/store,付费版测试站 http://zuimei.
live(用户名 Abby,密码 aaa),文档导航 https://poetize.cn/article/100,部署专栏 https://poetize.cn/label/30,使用指南专栏 https://poetize.cn/label/31。
付费版特色(来源描述,仅为说明差异,不作为开源版功能):多维度门户系统(经典博客首页、文章首页、专栏首页、极简个人主页)、支付模块(支付宝/微信/易支付/码支付对接、商品系统、会员体系)、智能增强(AI 文章生成、AI 文章摘要生成)、全方位登录方案(国内主流社交平台登录、微信公众号验证码登录、手机邮箱验证码登录)、存储解决方案(支持 7 大云存储厂商、自建存储方案、混合存储模式)。
开源版更新进度(来源列出):2023-01-01 新增音乐盒、表白墙,优化文件管理、多端登录、登录权限过期时间重置、前端美化、留言分类与资源整合;2023-04-01 新增百宝箱(收藏夹);2023-07-20 新增旅拍模块、看板娘,优化聊天室脚本过滤、按 IP 和账号限制每日接口保存次数;2023-08-20 新增访客统计、搜索、音乐列表顺序播放、聊天室搜索、后台【欢迎光临】;2023-09-01 限制保存/邮件发送/文件上传接口次数,修复 vuex 用户信息丢失、文件上传密钥改造(每个密钥只能上传一个文件);2023-10-01 文章加密、文章订阅、文件上传支持多平台(目前对接本地);2024-01-10 首页分类预览、文章视频、文章目录、留言与朋友圈图片放大、上传进度条与原始文件名记录;2024-04-01 部署优化(配置文件提取到 MySQL,无需编译打包环节)、前端编译压缩;2024-04-10 部署优化、后端增加系统配置模块。
来源页面还包含 AGPL-3.0 许可证全文,以及 Gitee 平台通用的克隆/下载说明:可通过 HTTPS、SSH、SVN、SVN+SSH 克隆或下载 ZIP;使用 HTTPS 协议时建议配置并使用私人令牌替代登录密码;首次使用 SSH 协议克隆、推送前需生成 RSA 密钥并将公钥配置到 SSH 公钥中。
— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。
安装 / 开始使用
以下步骤依据来源 README 的“本地启动”与说明整理,未在来源中明确的内容标注为待核验。
一、准备环境
- 部署/运行网站需要安装 Nginx、Java、MySQL(来源明确列出),然后打包前后端项目并部署。具体版本号来源未明确,待核验。
- 文件服务可以使用七牛云,也可以使用服务器,默认使用服务器。
- Vue3(IM 聊天室系统)是非必须的。如果部署,则需要依赖博客,然后从博客的“联系我”进入,因为登录模块在博客。
二、获取代码
- 项目地址:https://gitee.com/littledokey/poetize
- 在 Gitee 页面可通过“克隆/下载”选择 HTTPS、SSH、SVN、SVN+SSH,或直接“下载ZIP”。
- 使用 HTTPS 协议时,命令行会出现账号密码验证步骤;基于安全考虑,Gitee 建议配置并使用私人令牌替代登录密码进行克隆、推送等操作。
- 首次使用 SSH 协议进行代码克隆、推送等操作时,需先完成 SSH 配置:1)生成 RSA 密钥;2)获取 RSA 公钥内容,并配置到 SSH 公钥中。
- 若需在命令行提交代码并被 Gitee 正确识别身份,来源提示执行配置命令:
git config --global user.name userNamegit config --global user.email userEmail- 仓库主要目录:poetize-im-ui(Vue3 聊天室前端)、poetize-server(后端)、poetize-ui(Vue2 博客前端)、poetize_picture、.gitignore、LICENSE、README.md;分支 master、develop、develop-whb、develop-zsy,标签 v2.0。
三、本地启动
- Vue2(poetize-ui 博客前端):
步骤 1
npm install步骤 2
npm run serve- Vue3(poetize-im-ui 聊天室前端,非必须):
步骤 1
npm install步骤 2
npm run serve- SpringBoot(poetize-server 后端):
- 导入 SQL 文件到数据库(poetry.sql)
- 配置数据库连接(application.yml 里面的 datasource 信息)
- 启动(PoetryApplication)
- 登录网站后台(http://localhost/admin) - 配置管理,可以配置网站信息。请注意部分配置信息修改后需要重启 Java,比如邮箱号和邮箱授权码。
- 本地启动项目后,文件无法访问,因为没有通过 Nginx 代理,浏览器无法直接访问文件。服务器部署后,文件通过 Nginx 即可访问。
四、常见问题
- 本地文件无法访问:来源说明这是未通过 Nginx 代理导致,服务器部署后通过 Nginx 即可访问。
- 修改配置不生效:部分配置(如邮箱号、邮箱授权码)修改后需要重启 Java。
- 聊天室登录:登录模块在博客,需从博客的“联系我”入口进入 IM 系统。
- 代码拉取提示:来源页面显示“代码拉取完成,页面将自动刷新”。
- 更完整的服务器部署流程,来源指向部署文档:https://poetize.cn/article/124(部署专栏 https://poetize.cn/label/30)。
五、许可证注意 项目采用 AGPL-3.0。AGPL 要求:以网络服务器方式提供修改版本服务时,需向该服务器的用户提供所运行修改版本的对应源代码。请在遵守许可证条款的前提下使用与分发。



