格姗知识圈博客网站开源了!

格姗知识圈博客

一个基于 Spring Boot、Spring Security、Vue3、Element Plus 的前后端分离的博客网站!本项目基本上是小格子一个人开发,由于工作和个人能力原因,部分技术都是边学习边开发,特别是前端(工作中是后端开发),基本上不熟悉,代码质量和设计,请大家多多指教。

码云下载地址(国内推荐):https://gitee.com/geshanzsq/geshanzsq-blog

Github 下载地址:https://github.com/geshanzsq/geshanzsq-blog

博客简介

  • 前端使用 Vue3、Element Plus UI。
  • 后端使用 Spring Boot、Spring Security、Redis、MySQL等技术
  • 后台管理支持加载动态权限菜单,权限修改立即生效,不用再退出重新登录。
  • 博客网站支持第三方登录,如:QQ、Gitee、Github

后台管理功能

  1. 用户管理:用户是整个系统操作人,主要完成系统用户配置
  2. 角色管理:配置角色菜单、分配用户角色等。
  3. 菜单管理:配置系统菜单、按钮权限标识、关联 API 等。
  4. 数据字典:系统中经常使用的一些较为固定的数据进行维护。
  5. API 管理:后端所有接口地址、请求方式等。
  6. 参数配置:系统动态配置常用参数。
  7. 登录日志:系统登录日志记录查询。
  8. 操作日志:系统操作日志记录和查询。
  9. 文章管理:文章编辑、查询等。
  10. 分类管理:分类操作。
  11. 标签管理:标签操作。
  12. 图片管理:图片分类管理、图片上传等。
  13. 友情链接:添加其他网站链接
  14. 评论管理:对文章和留言板的评论进行审核
  15. 第三方登录配置:动态添加第三方登录配置及登录管理
  16. 推荐管理:对文章的推荐进行管理

客户端功能

  1. 首页:网站首页相关文章展示
  2. 分类:展示所有分类及分类下的文章
  3. 标签:展示所有标签及标签下的文章
  4. 归档:历史上已发布的文章,按时间线展示
  5. 关于我:展示网站介绍和个人介绍
  6. 留言板:展示用户留言
  7. 个人中心:用户通过第三方平台登录后,可对个人基本信息修改,查看我的足迹、评论、收藏、点赞

运行

前端:需要搭建 Vue 脚手架环境,如:安装 Node.js、Vue-cli 。

后端:需要搭建 Java 开发环境。此外,还需要安装 MySQL 数据库(推荐 MySQL 8)、Redis。

相关环境版本:
软件名称版本号
Node16.16.0
NPM6.14.15
JDK1.8.0_202
MySQL8.0.29
Redis5.0.9
Nginx1.9.9

项目目录结构说明

geshanzsq-blog-admin: 后台管理模块geshanzsq-blog-admin-service: 后台管理应用启动和博客业务geshanzsq-blog-admin-system: 后台管理的系统管理模块geshanzsq-blog-admin-system-common: 后台管理的系统管理模块通用模块,目前是客户端需要使用的枚举和 PO
geshanzsq-blog-cleintgeshanzsq-blog-cleint-common: 客户端通用模块,目前是后台管理需要使用的枚举和 POgeshanzsq-blog-cleint-service: 客户端相关逻辑和应用启动
geshanzsq-blog-common: 通用模块geshanzsq-blog-common-core: 核心通用模块,包含一些通用工具类geshanzsq-blog-common-framework: 通用框架模块geshanzsq-blog-common-limiter: 通用限流模块geshanzsq-blog-common-log: 通用日志模块geshanzsq-blog-common-redis: 通用缓存模块geshanzsq-blog-common-security: 通用安全框架模块geshanzsq-blog-common-swagger: 通用接口文档模块
vue-geshanzsq-blog-admin: 前端后台管理
vue-geshanzsq-blog-client: 前端客户端
前端运行
管理端
# 进入项目目录
cd vue-geshanzsq-blog-admin# 安装依赖
npm install# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npm.taobao.org# 启动服务
npm run serve

浏览器访问 http://localhost:8823

客户端
# 进入项目目录
cd vue-geshanzsq-blog-client# 安装依赖
npm install# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npm.taobao.org# 启动服务
npm run serve

浏览器访问 http://localhost:8824

后端运行

新建数据库 geshanzsq_blog 数据库,导入 doc/sql/geshanzsq_blog.sql 数据库脚本

geshanzsq-blog/geshanzsq-blog-admin/geshanzsq-blog-admin-servicegeshanzsq-blog/geshanzsq-blog-client/geshanzsq-blog-client-service 应用启动模块下,有三个配置文件:

application.ymlapplication-dev.ymlapplication-prod.yml
主要配置文件,配置公共信息开发环境,配置 MySQL 数据库、Redis 缓存、文件路径生产环境,配置 MySQL 数据库、Redis 缓存、文件路径

上述配置完成后,启动后台管理 geshanzsq-blog-admin-service 和 客户端 geshanzsq-blog-client-service 应用

使用

后台管理:http://localhost:8823

客户端:http://localhost:8824

默认用户:admin

默认密码:admin123

后端技术

技术说明官网链接
Spring BootMVC 框架https://spring.io/projects/spring-boot
Spring Security认证和授权安全框架https://spring.io/projects/spring-security
MyBatis PlusORM 框架https://mp.baomidou.com
Knife4j接口文档管理框架https://doc.xiaominfo.com
Redis缓存框架https://redis.io
Lombok对象封装工具https://github.com/projectlombok/lombok
NginxHttp 和反向代理 Web 服务器http://nginx.org
JustAuth第三方登录工具https://www.justauth.cn

前端技术

说明官网
前端框架https://vuejs.org
路由框架https://router.vuejs.org
全局状态管理框架https://vuex.vuejs.org
前端 UI 框架https://element-plus.gitee.io
前端 Http 框架https://github.com/axios/axios
富文本编辑器https://www.wangeditor.com
Markdown 编辑器http://ckang1229.gitee.io/vue-markdown-editor/zh
代码语法高亮插件https://github.com/highlightjs/highlight.js

License

Copyright © 2020-2022 格姗知识圈 Released under the Apache-2.0.

注:如果你使用这个开源项目,请注明本项目来源和说明。

感谢

若依后台管理系统:RuoYi-Vue

效果图

首页

我的足迹

菜单管理.png

数据字典.png

API 管理.png

参数配置.png

文章管理.png

编辑文章.png

编辑文章-2.png

图片管理.png

第三方登录配置.png

推荐管理.png

后台管理接口文档.png

客户端接口文档.png

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL~表的操作(创建表,查看表,修改表,删除表)

1.创建表 1.1.创建表 首先要选择需要操作的数据库,USE 数据库名,后续可以根据实际情况操作时添加。 USE fruitsales;建表语法: create table 表名( 字段名1 数据类型, 字段名2 数据类型, ); 实例:创建fruit_bak1表。 create t…

[linux]软件安装

安装方式 二进制发布包安装: 软件已经针对具体平台编译打包发布,只要解压修改配置即可 rpm安装: 软件已经按照redhat的包管理规范进行打包, 使用rpm命令进行安装,不能自行解决库依赖问题 yum安装: 一种在线软件安装方式, 本质上还是rpm安装, 自动下载…

【vim】手动安装 Leader-F

LeaderF 是一个功能强大的 Vim 插件,主要用于快速导航和搜索。它可以帮助用户在 Vim 中高效地查找文件、缓冲区、标签、函数等各种元素,极大地提高了编辑效率。 LeaderF 的安装如果按照仓库中的教程来的话可以很方便的实现安装,这里介绍一下…

【记录】VSCode|自用设置项

文章目录 1 基础配置1.1 自动保存1.2 编辑区自动换行1.3 选项卡换行1.4 空格代替制表符1.5 开启滚轮缩放 2 进阶设置2.1 选项卡不自我覆盖2.2 选项卡限制宽度2.3 选项卡组限制高度2.4 字体设置2.5 字体加粗2.6 侧边栏2.7 沉浸式代码模式 Zen Mode2.8 设置 Zen 模式的选项卡组 3…

家用wifi的ip地址固定吗?换wifi就是换ip地址吗

在探讨家用WiFi的IP地址是否固定,以及换WiFi是否就意味着换IP地址这两个问题时,我们首先需要明确几个关键概念:IP地址、家用WiFi网络、以及它们之间的相互作用。 一、家用WiFi的IP地址固定性 家用WiFi环境中的IP地址通常涉及两类&#xff1a…

文档透明加密系统怎么用?五款透明加密软件汇总!2024热门推荐,实测分享!

数据泄露事件频发,让无数企业谈之色变。 想要自动对存储在计算机上的文档进行加密吗? 怎么在不影响日常工作的前提,确保文档在存储和传输过程中的安全? 透明加密系统来助力! 本文,将详细介绍文档透明加密…

解决vue使用pdfdist-mergeofd插件时报错polyfills

pdfdist-mergeofd 该插件主要是为了解决pdf-js和ofd-js共同使用时产生的依赖冲突问题,具体可看这位博主的文章同时使用ofdjs和pdfjs遇到的问题,和解决方法——懒加载 首先看下报错信息 ERROR in ./node_modules/.pnpm/pdfdist-mergeofd2.2.228_webpa…

人工智能算法之双倍体遗传算法(DGA)

人工智能算法之双倍体遗传算法(DGA) 双倍体遗传算法是一种改进的遗传算法,借鉴了生物中双倍体(每个体细胞中具有两套染色体)的遗传机制。传统遗传算法中的个体通常是单倍体(单套基因)&#xff0…

使用 v-html 指令渲染的标签, 标签内绑定的 click 事件不生效

背景 在项目开发中,实现用户友好的输入交互是提升用户体验的关键之一。例如,在客服对话框中,其中有包含多个快捷选项用于快速问答,每个快捷选项都是一个可点击的按钮,并需要绑定点击事件来执行相应操作。然而&#xf…

数据类型【MySQL】

文章目录 建立表查看表删除表数据类型floatcharvarcharchar&&varchar 时间日期类型enum和setenum和set查找 建立表 mysql> create table if not exists user1(-> id int ,-> name varchar (20) comment 用户名 ,-> password char (32) comment 用户名的…

软考(中级-软件设计师)算法分析篇(1024)

三、算法设计与分析 #1024程序员节|正文# 一、分治法 1.1 分而治之 对于一个规模为n的问题,若该问题可以容易的解决(比如说规模较小,则直接解决,否则将其分解为k个规模较小的问题,这些子问题相互独立且与原问题形…

数组类型应用举例

在main.cpp里输入程序如下&#xff1a; #include "stdio.h" //使能printf()函数 #include <stdlib.h> //使能exit(); #define My_array_Size 10 //定义用My_array_Size代替 unsigned char My_array[My_array_Size]; //声明数组My_arra…

集群分发脚本

我的后端学习大纲 我的Linux环境搭建学习大纲 8.2.scp安全拷贝: 1.命令格式&#xff1a;scp -r $pdir/$fname $user$host:$pdir/$fname2.具体命令&#xff1a; scp -r jdk1.8.0_321/ rootHadoop104:/opt/module 3.实际操作&#xff1a; 3.1.在hadoop2和hadoop3&#xff0c;had…

Verilog 0x01 基础

硬件描述语言 0x00 数电逻辑符号 与 & 或 | 异或 ^ 同或 ~^0x01 基本结构 1.1 线网&#xff08;wire&#xff09; wire 类型表示硬件单元之间的物理连线&#xff0c;由其连接的器件输出端连续驱动 如果没有驱动元件连接到 wire 型变量&#xff0c;缺省值一般为 “Z” …

h5页面与小程序页面互相跳转

小程序跳转h5页面 一个home页 /pages/home/home 一个含有点击事件的元素&#xff1a;<button type"primary" bind:tap"toWebView">点击跳转h5页面</button>toWebView(){ wx.navigateTo({ url: /pages/webview/webview }) } 一个webView页 /pa…

数据结构——队列和栈

目录 一、栈 1、概念与结构 2、栈的结构与初始化 3、入栈 4、出栈 5、取栈顶元素 6、取栈中有效元素个数 7、栈是否为空 二、队列 1、概念与结构 2、队列的结构与初始化 3、入队列 4、出队列 5、取队头数据 6、取队尾数据 7、队列判空 8、队列中有效元素个数 练习题目链 一…

(一)Mysql篇---Mysql整体架构

MySql框架浅析 首先&#xff0c;上一张图先让各位看看大致结构&#xff1a; 从上到下&#xff0c;依次说一下结构&#xff1a; 连接层&#xff1a;这里主要是处理客户端和数据库连接的&#xff0c;直接使用的Tomcat的连接池&#xff0c;可以调整最大连接数&#xff1b; 服务…

精益思维在新能源汽车研发中的应用体现

近年来&#xff0c;新能源汽车作为绿色出行的重要载体&#xff0c;其研发与生产模式正经历着深刻的变革。精益思维&#xff0c;这一源自制造业的管理理念&#xff0c;正逐步渗透并深刻影响着新能源汽车的研发过程&#xff0c;不仅提升了产品质量与生产效率&#xff0c;还促进了…

汽车级DC-DC转换器英飞凌TLF35584

上汽荣威都在用的汽车级DC-DC转换器英飞凌TLF35584 今天平台君从IPBrain数据库中给大家带来的一款由Infineon(英飞凌)推出的一款多路输出安全电源芯片,具备高可靠性和安全性。适用于汽车电子系统中的多种应用场景,如车身控制、安全气囊、防抱死制动系统,电子稳定控制系统等。…

数据结构:堆的应用

堆排序 假定有一组数据极多的数&#xff0c;让我们进行排序&#xff0c;那我们很容易想到一种经典的排序方法&#xff0c;冒泡排序&#xff0c;我们对冒泡排序的时间复杂度进行分析&#xff1a; 显然&#xff0c;冒泡排序的时间复杂度是O&#xff08;n^2&#xff09;,当数据量…