鸢尾博客项目总结

1.博客介绍

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

鸢尾博客

基于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
				├── resources
		pom.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 的弹幕交互组件

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/905900.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Installshield 总是跳出 Activation 激活对话框,而且创建项目失败

今天打开InstallShield ,总是出现这个对话框,而且输入序列号后,虽然现实激活,但是无论打开原来的项目,还是新建项目都是失败。 解决方法: 一直没有思路,后来,使用管理员打开VS&#…

TLV320AIC3104IRHBR 数据手册 一款低功耗立体声音频编解码器 立体声耳机放大器芯片麦克风

TLV320AIC3104 是一款低功耗立体声音频编解码器,具有立体声耳机放大器以及在单端或全差分配置下可编程的多个输入和输出。该器件包括基于寄存器的全面电源控制,可实现立体声 48kHz DAC 回放,在 3.3V 模拟电源电压下的功耗低至 14mW&#xff0…

11月第一篇新作,十一月对我好一点:C++之继承(2)

C之继承(2) 虚继承 很多⼈说C语法复杂,其实多继承就是⼀个体现。有了多继承,就存在菱形继承,有了菱形继承就有 菱形虚拟继承,底层实现就很复杂,性能也会有⼀些损失,所以最好不要设计…

uni-app 封装图表功能

文章目录 需求分析1. 秋云 uchars2. Echarts 需求 在 uni-app 中使用图表功能,两种推荐的图表工具 分析 在 Dcloud市场 搜索Echarts关键词,会出现几款图表工具,通过大家的下载量,可以看到秋云这个库是比较受欢迎的,其…

FemtoMega的开发者模式教程

1.FemtoMega相机简介 Femto Mega作为奥比中光联合微软、英伟达共同推出的全新升级iToF相机,整合英伟达算力及微软深度引擎技术,整机具备高通用性优势,集成深度算力无需额外算力,此外还支持POE网络接口,支持远程的部署和…

基于SpringBoot的健身房系统的设计与实现(源码+定制+开发)

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

索引的使用以及使用索引优化sql

索引就是一种快速查询和检索数据的数据结构,mysql中的索引结构有:B树和Hash。 索引的作用就相当于目录的作用,我么只需先去目录里面查找字的位置,然后回家诶翻到那一页就行了,这样查找非常快, 一、索引的使…

Dockerfile 增强新语法

Dockerfile 是使用 Docker 的相关开发人员的基本工具,用来充当构建 Docker 镜像的模板,在这个文件中包含用户可以在命令行上调用来构建镜像的所有命令。了解并有效利用 Dockerfile 可以显着简化开发流程,实现镜像创建的自动化并确保不同开发阶…

【搜索引擎】俄罗斯搜索引擎yandex

俄罗斯搜索引擎yandex 1997年,俄罗斯搜索引擎Yandex(俄语意为:语言目录)首次上线,已发展成为全球第四大搜索引擎和第二大非英语搜索引擎 https://yandex.com/

Vue v-on

vue : v-on:func --------------------------- data(){ return{ prop:any; } } methods:{ func(){ } } template:, v-on

【django】django RESTFramework前后端分离框架快速入门

目录 一、搭建项目开发环境 1.1 pycharm创建项目 1.2 修改配置settings.py 1.3 新增 static与staticfiles文件夹 1.4 生成数据表 1.5 创建超级用户 1.6 启动项目 二、安装REST_Framework 2.1 安装 2.2 配置settings 2.3 重新执行生成数据库脚本 三、修改路由 四、s…

基于centos7.9搭建MariaDB10.5高可用集群

MariaDB-HA 环境初始化安装MariaDB配置集群 基于centos7.9搭建MariaDB10.5数据库高可用集群,对标mysql5.7 节点IPnode1192.168.200.101node2192.168.200.102node3192.168.200.103 环境初始化 #!/bin/bash# 定义节点信息 NODES("192.168.200.101 node1"…

WAF+AI结合,雷池社区版的强大防守能力

网上攻击无处不不在,为了保护我自己的网站,搜索安装了一个开源免费的WAF 刚安装完成就收到了海外的攻击,看到是海外的自动化攻击工具做的 雷池刚好也有AI分析,于是就尝试使用这个功能,看看这个ai能力到底怎么样 以下…

服务器宝塔安装哪吒监控

哪吒文档地址:https://nezha.wiki/guide/dashboard.html 一、准备工作 OAuth : 我使用的gitee,github偶尔无法访问,不是很方便。第一次用了极狐GitLab,没注意,结果是使用90天,90天后gg了,无法登…

ThingsBoard规则链节点:Math Function节点详解

引言 1. Math Function 节点简介 2. 节点配置 2.1 基本配置示例 3. 使用场景 3.1 数据预处理 3.2 阈值判断 3.3 复杂计算 3.4 动态阈值 4. 实际项目中的应用 4.1 项目背景 4.2 项目需求 4.3 实现步骤 5. 总结 引言 ThingsBoard 是一个开源的物联网平台&#xff0c…

Spark入门到实践

Spark入门到实践 一、Spark 快速入门1.1 Spark 概述1.2 Spark 最简安装1.3 Spark实现WordCount1.3.1 下载安装Scala1.3.2 添加Spark依赖1.3.3 Scala实现WordCount1.3.4 通过IDEA运行WordCount1.3.5 IDEA配置WordCount输入与输出路径1.3.6 通过IDEA运行WordCount1.3.7 查看运行结…

.NET 9 AOT的突破 - 支持老旧Win7与XP环境

引言 随着技术的不断进步,微软的.NET 框架在每次迭代中都带来了令人惊喜的新特性。在.NET 9 版本中,一个特别引人注目的亮点是 AOT( Ahead-of-Time)支持,它允许开发人员将应用程序在编译阶段就优化为能够在老旧的 Win…

网络层之IP协议,它带来了哪些功能,真的能顺着网线找到?

前言 在上一篇,学习了链路层的以太网协议,知道了MAC地址,在以太网中,找到对应的终端最终依靠的是MAC地址,但是在实际使用中,大家可能发现并不是使用的MAC地址,而是IP协议,比如 &…

linux之网络子系统- 内核发送数据包流程以及相关实际问题

一、相关实际问题 查看内核发送数据消耗的CPU时应该看sy还是si在服务器上查看/proc/softirqs,为什么NET_RX要比NET_TX大得多发送网络数据的时候都涉及那些内存拷贝操作零拷贝到底是怎么回事为什么Kafka的网络性能很突出 二、网络包发送过程总览 调用系统调用send发…

使用WebStorm开发Vue3项目

记录一下使用WebStorm开发Vu3项目时的配置 现在WebStorm可以个人免费使用啦!🤩 基本配置 打包工具:Vite 前端框架:ElementPlus 开发语言:Vue3、TypeScript、Sass 代码检查:ESLint、Prettier IDE&#xf…