鸢尾博客项目开源

news/2024/11/6 7:38:57/

1.博客介绍

鸢尾博客是一个基于Spring Boot+Vue3 + TypeScript + Vite+JavaFx的客户端和服务器端的博客系统。项目采用前端与后端分离,支持移动端自适应,配有完备的前台和后台管理功能。后端使用Sa-Token进行权限管理,支持动态菜单权限,服务健康监控,数据流量统计,支持QQ、微博、码云、GitHub等三方登录。

鸢尾<a class=博客" />

基于Springboot + Vue3 + TypeScript 开发的前后端分离博客

2.在线地址

博客链接: www.lstar.icu

后台链接: admin.lstar.icu

测试账号: test@qq.com,密码:123456

Gitee 地址: https://gitee.com/lxwise/iris-blog_parent

Github 地址: https://github.com/lxwise/iris-blog_parent

3.Star

ps: 虽然我知道,大部分人和作者菌一样喜欢白嫖,都是看了直接下载源代码后就潇洒的离开。但我还是想请各位喜欢本项目的小伙伴:StarStarStar。只有你们的Star本项目才能有更多的人看到,才有更多志同道合的小伙伴一起加入完善本项目。请小伙伴们动动您可爱的小手,给本项目一个Star同时也欢迎大家提交pr,一起改进项目

4.目录结构

Iris-blog_parent
├── doc    --  说明文档
├── Iris-blog       --  博客后端父项目├── Iris-admin  --  博客后端项目├── src├── main├── java├── com.iris.blog  		-- 主包├── common			-- 通用模块├── components		-- 组件├── config			-- 通用配置├── controller		-- 前端控制器├── dao				-- mapper/实体嘞├── domain			-- VO类├── service			-- 接口├── strategy		-- 策略类├── utils			-- 工具类AdminApplication.java├── resourcespom.xml├── Iris-generator		--  代码生成器项目
├── Iris-blog-admin		-- 前端后台项目        
├── Iris-blog-web       -- 前端博客项目
├── sql        --  sql文件

5.项目特点

  • 博客界面布局样式主要参考 Hexo 的 ShokaX和 Butterfly 设计,页面美观,支持移动端自适应。

  • 博客后台管理基于**yudao-ui-admin-vue3**主体框架进行重构,含有动态路由权限、侧边栏、国际化、主题切换等。

  • 采用 RABC 权限模型,使用 Sa-Token 进行权限管理,支持动态权限修改、动态菜单和路由。

  • 具有文章,时间线,说说,通知,标签,分类,留言,友链,问题反馈等功能。

  • 支持数据流量统计、IP访问监控、服务健康监控、前台网站信息动态管理等功能。

  • 支持动态定时任务、动态存储管理(OSS、COS、Kodo、Minio、本地),日志管理等功能。

  • 支持文章代码块高亮、图片预览、黑夜模式、点赞、取消点赞,发布评论、回复评论、表情包等功能。

  • 发送 HTML 邮件评论回复提醒,内容详细,文章动态通知等功能。

  • 接入QQ、Weibo、Gitee、Github等第三方快速登录,减少注册成本。

  • 支持文章高级搜索、搜索关键字高亮分词。

  • 文章编辑使用 Markdown 编辑器,写法简单便捷。

  • 含有实时天气预报、标签云、最新评论、文章目录、文章推荐和文章置顶功能。

  • 采用 Restful 风格的 API,注释完善,代码遵循阿里巴巴开发规范,有利于开发者学习。

6.技术介绍

前端: Vue3 +Vite + Pinia + Vue Router + Vueuse + Vue-i18n + Unocss +Iconify + TypeScript + Axios + Element Plus + Naive UI + Echarts + Swiper

后端: SpringBoot + Javafx + Mysql + Redis + Oss/Cos/Qiniu/Minio + Mail + Quartz + Thymeleaf + Nginx + Docker + Sa-Token + Swagger2 + knife4j + MyBatisPlus + lombok + ip2region

其他: 接入 QQ、Weibo、Gitee、Github 第三方登录,Hutool、Guava、Commons等工具包

7.运行环境

服务器: 腾讯云 2 核 4G CentOS7.6

对象存储: 阿里云 OSS、腾讯云 COS、七牛云 Kodo、Minio

最低配置: 2 核 2G 服务器 ps:如果mysql Redis这些不部署在同一台服务器 1核2G也能运行

8.开发环境

开发工具说明
IDEAJava 开发工具 IDE
Webstorm前端 开发工具 IDE
Navicat/DBeaverMySQL 远程连接工具
Redis Desktop ManagerRedis 远程连接工具
FinalshellLinux 远程连接工具
ApiFox接口调试工具
SceneBuilderJavaFx开发工具
开发环境版本
OpenJDK17.0.9
MySQL8.0.11
Redis6.2.6
Nginx1.22.1
Node18.20.2
Npm10.5.0
Pnpm9.0.6

9.本地运行

  1. MySQL版本为8.0.11,npm版本为10.5.0,node版本为v18.0.02
  2. SQL 文件位于根目录下的iris_blog.sql,将其中的数据导入到自己本地数据库中
  3. 修改后端application.yml配置文件中的数据库等连接信息,项目中使用到的关于阿里云、腾讯云功能和第三方授权登录等需要自行开通
  4. npm installnpm run dev
  5. 项目启动后,使用admin@qq.com管理员账号登录后台,密码为123456

ps:请先运行后端项目,再启动前端项目,前端项目配置由后端动态加载。

10.项目截图

前台

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

后台

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

11.后续计划

  • 博客文章导入导出
  • 移动端文章目录
  • 新增相册功能
  • 新增看板娘
  • 新增加密文章
  • 优化交互体验

12.项目总结

经过数月的努力与探索,我终于完成了自己的博客项目。整个项目花费了大量的心血,从最初的构想到最终的实现,这个过程不仅充满了挑战,也让我学到了很多宝贵的知识和技能。在开发的过程中,我参考了许多优秀的开源项目,它们为我的项目提供了重要的指导和支持。在这里,我想对所有贡献者表示最深的感谢,没有你们的工作,我的项目不可能如此顺利地完成。

  • 在此特别感谢以下开源项目的贡献者们,是你们的工作让我的项目得以顺利完成:

    • hexo-theme-shokaX
    • hexo-theme-butterfly
    • yudao-ui-admin-vue3
    • Sa-Token
    • 基于 Vue.js 的弹幕交互组件

    最后,我希望我的博客项目能够为你带来同样的收获与快乐。如果你有任何建议或意见,欢迎随时联系我。让我们一起分享知识,共同成长!


http://www.ppmy.cn/news/1544752.html

相关文章

基于Spring Boot的信息学科平台系统开发与优化

6系统测试 6.1概念和意义 测试的定义&#xff1a;程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为&#xff1a; 目的&#xff1a;发现程序的错误&#xff1b; 任务&#xff1a;通过在计算机上执行程序&#xff0c;暴露程序中潜在的错误。 另一个…

【Unity】Unity拖拽在Android设备有延迟和卡顿问题的解决

一、介绍 在制作Block类游戏时&#xff0c;其核心的逻辑就是拖拽方块放入到地图中&#xff0c;这里最先想到的就是Unity的拖拽接口IDragHandler,然后通过 IPointerDownHandler, IPointerUpHandler 这两个接口判断按下和松手&#xff0c;具体的实现逻辑就是下面 public void On…

springboot yml文件数据源出现警告/报黄/数据库配置警告问题

1、看一下数据源的依赖是不是都引入完整了 2、看一下数据源是否有拼写错误 上图就是数据源拼写错误

23使用APT/YUM/DNF等工具管理软件包

每天五分钟学Linux | 第二十三课&#xff1a;使用APT/YUM/DNF等工具管理软件包 大家好&#xff01;欢迎再次来到我们的“每天五分钟学Linux”系列教程。在前面的课程中&#xff0c;我们学习了如何编写带有控制结构的Shell脚本。今天&#xff0c;我们将探讨如何使用Linux中的软…

「Mac畅玩鸿蒙与硬件27」UI互动应用篇4 - 猫与灯的互动应用

本篇将带领你实现一个趣味十足的互动应用&#xff0c;用户点击按钮时猫会在一排灯之间移动&#xff0c;猫所在的位置灯会亮起&#xff08;on&#xff09;&#xff0c;其余灯会熄灭&#xff08;off&#xff09;。应用会根据用户的操作动态更新灯光状态和文本提示当前亮灯的位置&…

网页中嵌入Unity并传参给Unity

要在网页中嵌入Unity并传参给Unity&#xff0c;你可以使用JavaScript和Unity的SendMessage函数进行通信。以下是实现步骤&#xff1a; 第一步&#xff1a;配置Unity的WebGL构建 1. 在Unity中&#xff0c;将项目设置为WebGL平台&#xff1a; 打开文件 > 构建设置&#xf…

AI开发-三方库-torch-torchvision

1 需求 数据集&#xff1a;torchvision.datasets torchvision.datasets.MNIST数据变换&#xff1a;torchvision.transforms torchvision.transforms.Composetorchvision.transforms.ToTensortorchvision.transforms.Normalize模型&#xff1a;torchvision.models可视化工具&…

Pycharm贪吃蛇小游戏后续2

前文中我们提到用面向对象去编写贪吃蛇 目前功能实现贪吃蛇吃食物&#xff0c;身体加长&#xff0c;其次可以按下-&#xff08;键盘上右分大小写的-&#xff0c;不是数字的-&#xff09;来改变speed&#xff0c;终端可以看到速度&#xff0c;后续将陆续实现撞墙死亡&#xff0…