{"id":27316938,"url":"https://github.com/liuyuyang01/thrivex-blog","last_synced_at":"2025-05-15T20:04:22.940Z","repository":{"id":254263545,"uuid":"845940611","full_name":"LiuYuYang01/ThriveX-Blog","owner":"LiuYuYang01","description":"🎉 ThriveX 是一个年轻、高颜值、全开源、永不收费的现代化博客管理系统。它采用前后端分离开发模式，是一个 NextJS + Spring Boot 的产物","archived":false,"fork":false,"pushed_at":"2025-04-25T11:48:37.000Z","size":52107,"stargazers_count":586,"open_issues_count":7,"forks_count":98,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-05-15T20:04:13.789Z","etag":null,"topics":["blog","cms","docker","echarts","mysql","nextjs","nginx","nodejs","react","springboot","thrive","thrivex","zustand"],"latest_commit_sha":null,"homepage":"https://liuyuyang.net","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LiuYuYang01.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-08-22T08:20:17.000Z","updated_at":"2025-05-15T19:43:30.000Z","dependencies_parsed_at":"2024-08-22T12:02:06.218Z","dependency_job_id":"b4c87ff1-bafa-436c-9f22-a35fe313aa8c","html_url":"https://github.com/LiuYuYang01/ThriveX-Blog","commit_stats":null,"previous_names":["liuyuyang01/thrivex-blog"],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LiuYuYang01%2FThriveX-Blog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LiuYuYang01%2FThriveX-Blog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LiuYuYang01%2FThriveX-Blog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LiuYuYang01%2FThriveX-Blog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LiuYuYang01","download_url":"https://codeload.github.com/LiuYuYang01/ThriveX-Blog/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254414499,"owners_count":22067272,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blog","cms","docker","echarts","mysql","nextjs","nginx","nodejs","react","springboot","thrive","thrivex","zustand"],"created_at":"2025-04-12T08:39:07.915Z","updated_at":"2025-05-15T20:04:16.608Z","avatar_url":"https://github.com/LiuYuYang01.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://liuyuyang.net\" target=\"_blank\"\u003e\n        \u003cimg width=\"100\" src=\"https://bu.dusays.com/2024/11/17/6739adf188f64.png\" alt=\"ThriveX logo\" style=\"width:100px\" /\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\" style=\"font-size:20px; font-weight:700;\"\u003eThriveX\u003c/p\u003e\n\n\u003cp align=\"center\" style=\"margin-bottom:10px\"\u003e年轻、高颜值、全开源、永不收费的现代化博客管理系统\u003c/p\u003e\n\n![](https://bu.dusays.com/2024/11/25/67445b7df3742.png)\n\n\n项目预览：[https://liuyuyang.net/](https://liuyuyang.net/)\n\n项目官网：[https://thrivex.liuyuyang.net/](https://thrivex.liuyuyang.net/)\n\n项目文档：[https://docs.liuyuyang.net/](https://docs.liuyuyang.net/)\n\n\n# 🎉 ThriveX 现代化博客管理系统\n\n🎉 `ThriveX` 是一个年轻、高颜值、全开源、永不收费的现代化博客管理系统，它是一个基于 `NextJS` + `Spring Boot` 的产物，所有技术栈都是目前市面上最主流的\n\n\n🛠️ **技术架构：**\n\n前端：React、**NextJS**、**TailwindCSS**、TypeScript、Zustand、React Form Hooks、Echarts、Antd、Scss、Vercel、Docker\n\n\n后端：**Spring Boot**、Mybatis Plus、MySQL、Qiniu、Swagger、Docker\n\n\n\n❤️ **项目初衷：**\n\n一直对网站开发领域很感兴趣，从小就希望有一个属于自己的网站，因此踏上了 `Web` 全栈开发的旅途，立志有朝一日也能开发一款属于自己的网站。如今历时 `2` 年有余，一个人从 `0` 到 `1` 独立完成整个项目的全栈开发，也算是完成了从小的一个心愿\n\n\n\n## 项目演示\n\n### 前端\n\n这里只演示部分前端界面，具体大家可以自行查看 **-\u003e** [https://liuyuyang.net](https://liuyuyang.net)\n![首页](https://bu.dusays.com/2024/10/28/671f7a44631d7.png)\n![足迹](https://bu.dusays.com/2024/09/17/66e97036dddcb.png)\n\n\n\n### 控制端\n\n![数据分析](https://bu.dusays.com/2024/09/17/66e97035726ae.png)\n![文件系统](https://bu.dusays.com/2024/09/17/66e97031cd456.png)\n\n\n\n## 项目运行\n\n最近比较忙，过段时间写一篇详细的项目部署教程，这里先简单教大家在本地跑起来\n\n**前端 or 控制端**\n\n环境：Nodejs18 及以上\n\n```\nnpm i\nnpm run dev\n```\n\n后台账号：`admin`   密码：`123456`\n\n\n\n在控制端项目根目录下创建 `.env` 文件，添加如下配置\n\n```bash\n# 百度统计相关配置\nVITE_BAIDU_TONGJI_KEY=\nVITE_BAIDU_TONGJI_SECRET_KEY=\nVITE_BAIDU_TONGJI_SITE_ID=\nVITE_BAIDU_TONGJI_ACCESS_TOKEN=\nVITE_BAIDU_TONGJI_REFRESH_TOKEN=\n\n# 星火AI相关配置\nVITE_AI_APIPassword=\nVITE_AI_MODEL=\n```\n\n百度接口申请地址：[https://tongji.baidu.com/api/manual/Chapter2/openapi.html](https://tongji.baidu.com/api/manual/Chapter2/openapi.html)\n\n星火大模型接口申请地址：[https://www.xfyun.cn/](https://www.xfyun.cn/)\n\n\n\n**后端**\n\n环境：Java8 + MySQL8\n\n安装 `maven` 依赖，配置 `application-dev.yml` 相关的信息\n\n```yml\nlyy:\n  email:\n    host: smtp.qq.com\n    port: 465\n    username: 你的邮箱账号\n    password: 你的邮箱授权码\n\n  oss:\n    accessKey: 七牛云的accessKey\n    secretKey: 七牛云的secretKey\n    bucket: thrive\n```\n\n导入后端根目录的 `ThriveX.sql` 数据库文件，最后运行项目即可\n\n\n\n## 项目部署\n\n前端：[https://docs.liuyuyang.net/docs/项目部署/前端.html](https://docs.liuyuyang.net/docs/项目部署/前端.html)\n控制端：[https://docs.liuyuyang.net/docs/项目部署/控制端.html](https://docs.liuyuyang.net/docs/项目部署/控制端.html)\n后端：[https://docs.liuyuyang.net/docs/项目部署/后端.html](https://docs.liuyuyang.net/docs/项目部署/后端.html)\n\n\n\n## 项目结构\n\n```\n├── public // 存放公共资源\n├── src // 核心源码\n│   ├── api // 所有API接口\n│   ├── app\n│   │   ├── error.tsx // 自定义错误页\n│   │   ├── favicon.ico // 项目图标\n│   │   ├── layout.tsx // 网站布局\n│   │   ├── loading.tsx // 自定义加载页\n│   │   ├── not-found.tsx // 自定义404页\n│   │   ├── page.tsx // 首页\n│   ├── assets // 存放项目所有资源\n│   │   ├── font\n│   │   ├── image\n│   │   └── svg\n│   ├── components // 公共组件\n│   ├── stores // 数据全局共享\n│   ├── styles // 全局样式\n│   ├── types // 全局类型\n│   └── utils // 通用方法\n├── package-lock.json\n├── package.json\n├── postcss.config.mjs\n├── tailwind.config.ts\n└── tsconfig.json\n```\n\n\n\n\n## 开源地址\n\n### 最新版（Nextjs + Spring Boot）\n\n前端：[LiuYuYang01/ThriveX-Blog (github.com)](https://github.com/LiuYuYang01/ThriveX-Blog)\n\n控制端：[LiuYuYang01/ThriveX-Admin (github.com)](https://github.com/LiuYuYang01/ThriveX-Admin)\n\n后端：[LiuYuYang01/ThriveX-Server (github.com)](https://github.com/LiuYuYang01/ThriveX-Server)\n\n\n\n### 旧版（Vue3 + Python Flask）\n\n前端：[LiuYuYang01/Thrive-Blog (github.com)](https://github.com/LiuYuYang01/Thrive-Blog)\n\n控制端：[LiuYuYang01/Thrive-Admin (github.com)](https://github.com/LiuYuYang01/Thrive-Admin)\n\n后端：[LiuYuYang01/Thrive-Server (github.com)](https://github.com/LiuYuYang01/Thrive-Server)\n\n![后台](https://bu.dusays.com/2024/09/17/66e96ca781d49.png)\n\n\n\n## 开源协议\n\n为了项目的生态越来越强大，作者在这里恳请大家保留 `ThriveX` 博客系统版权\n\n在项目 `Star` 突破 `2K` 后大家可自由选择删除 `or` 保留\n\n如果对该项目进行二次开发，最终需将项目进行开源并保留版权 且 禁止任何商业行为\n\n最后希望大家能够请遵守开源协议：**AGPL-3.0 license** \n\n弘扬开源精神，从你我做起！\n\n\n\n## 关于项目\n\n这个项目是我一个人从设计 -\u003e 产品 -\u003e 前端 -\u003e 控制端 -\u003e 后端以及数据库从 `0` 到 `1` 创造的，一个人的精力有限，项目可能会存在一些隐藏的 `BUG`，希望大家能够及时在 `GitHub` 向我反馈，这样也好加以改正，不断改善，成为最佳！\n\n当然我更希望大家能够提交 `PR` 成为 `ThriveX` 的贡献者，大家一起参与进来，构建一个强大的博客管理系统！\n\n最后我想说该项目的风格借鉴了很多网站的灵感，下面我主要列举几个：\n\n[https://blog.zwying.com/](https://blog.zwying.com/)\n\n[https://www.blatr.cn/](https://www.blatr.cn/)\n\n[https://poetize.cn/](https://poetize.cn/)\n\n\n\n## 🔥 技术交流群\n\n加微信拉群：liuyuyang2023\n\n\n\n# 常见疑惑\n\n下面总结一些大家常问的疑惑\n\n\n\n## 为什么会想到开发这个项目？\n\n**问：** 为什么会想到开发这个项目？\n\n**答：** 在开发这个项目之前我也使用了很多流行的博客系统，比如：`WordPress`（使用了两年）、`Emlog`、`Zblog`（一年）、`Typecho`（两年）\n\n这些系统都有一个共同点，它们都是基于 `PHP` 开发的，如果不会 `PHP` 就不好自定义网站主题和功能插件，只能去找别人写好的，如果别人没有写，那么你就没办法用，这样就会有很大的局限性。\n\n关键是 `PHP` 在国内已经被淘汰了，所以没有必要再去刻意学习这门语言。因此我就萌生了自己开发一整个博客系统的想法，从 `22` 年正式落实并开发，目前已经持续完成三大版本，分别是：\n\n1. Vue2 + Express（Nodejs）\n2. Vue3 + Flask（Python）\n3. Next14 + Spring Boot（Java）\n\n样式借鉴了很多大佬的网站风格，但代码都是自己一行一行敲出来的，目前在 `Github` 已有近 `3000` 次代码提交记录\n\n项目的所有技术栈都是目前最主流的，是一个非常年轻的现代化博客管理系统 🎉\n\n\n\n## 为什么不采用纯前端做全栈？\n\n**问：** 为什么技术栈不采用纯前端做全栈？比如 `Nextjs + Prisma`，目前 `Nextjs + Spring Boot` 实在太臃肿了\n\n**答：** 因为我想把前端、控制端、后端全部分离，任何地方都可以相互独立出来。比如你想自己写前端，不管你使用哪些技术栈，只需要调用后端接口就可以自己开发。\n\n如果使用了 `Nextjs` 做全栈，那么前后端就会捆绑起来，这样的话前端就必须使用 `React` 而且如果不懂 `Nextjs` 会加大开发以及学习成本\n\n\n\n## 项目后期是否会考虑收费？\n\n**问：** 后期是否会考虑收费\n\n**答：** 有很多跟我一样从 `0` 到 `1` 写博客系统的同行，但他们大多数以盈利为目地而开发，而且更新频率并不高\n\n我可以在此承诺，`ThriveX` 在现在乃至未来不会以任何方式收费，就连赞助二维码都不会有，格局直接拉满 😁\n\n这个项目纯纯为爱发电，这一点是所有博客系统当中比不了的\n\n\n\n## 项目会保持长期维护吗？\n\n**问：** 大家可能会觉得我不以盈利为目的最终会丧失热情导致不再维护，其实我想说这个顾虑可以打消\n\n**答：** 在这两年期间内我已经累计提交了近 `3000` 次代码，只要工作之余有时间我都会不断的更新维护\n\n\n\n## 项目后续的开发计划\n\n![PixPin_2024-11-11_18-03-02.png](https://bu.dusays.com/2024/11/11/6731d7056b4ee.png)\n\n\n\n## 官方交流群\n\n![image](https://github.com/user-attachments/assets/f6256565-872c-4ea4-bc85-d6d29c636a99)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliuyuyang01%2Fthrivex-blog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliuyuyang01%2Fthrivex-blog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliuyuyang01%2Fthrivex-blog/lists"}