当前位置: 首页 > news >正文

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

格姗知识圈博客

一个基于 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

相关文章:

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

格姗知识圈博客 一个基于 Spring Boot、Spring Security、Vue3、Element Plus 的前后端分离的博客网站!本项目基本上是小格子一个人开发,由于工作和个人能力原因,部分技术都是边学习边开发,特别是前端(工作中是后端开…...

【C++】深入理解C++中的类型推导:从auto到decltype的应用与实践

C11引入了类型推导特性,旨在简化代码并提升开发效率。类型推导使开发者无需显式指定变量的类型,从而让代码更具可读性和灵活性。本文深入探讨了C11引入的auto、decltype和decltype(auto)等关键特性,通过分析其背后的设计理念、实际应用场景&a…...

使用Prometheus对微服务性能自定义指标监控

背景 随着云计算和容器化技术的不断发展,微服务架构逐渐成为现代软件开发的主流趋势。微服务架构将大型应用程序拆分成多个小型、独立的服务,每个服务都可以独立开发、部署和扩展。这种架构模式提高了系统的可伸缩性、灵活性和可靠性,但同时…...

深入解析 Lombok 的实现原理:以 @Builder 为例的实战演示(三)

文章目录 Lombok 的实现原理概述以 Builder 为例:解析 Lombok 如何生成 Builder 模式示例代码:没有 Lombok 的 Builder 模式使用 Lombok 的 Builder 简化代码 Lombok 如何实现 Builder:源码解析案例演示:自定义构造逻辑Lombok 的代…...

SEO基础:什么是SERP?【百度SEO专家】

SEO基础:什么是SERP? 大家好,我是林汉文(百度SEO专家),在进行SEO(搜索引擎优化)时,理解SERP是一个非常重要的基础概念。那么,究竟什么是SERP呢?本…...

HTML5教程(一)- 网页与开发工具

1. 什么是网页 网页 基于浏览器阅读的应用程序,是数据(文本、图像、视频、声音、链接等)展示的载体常见的是以 .html 或 .htm 结尾的文件 网站 使用 HTML 等制作的用于展示特定内容相关的网页集合。 2. 网页的组成 浏览器 代替用户向服务…...

Java进阶篇设计模式之二 ----- 工厂模式

前言 在上一篇中我们学习了单例模式,介绍了单例模式创建的几种方法以及最优的方法。本篇则介绍设计模式中的工厂模式,主要分为简单工厂模式、工厂方法和抽象工厂模式。 简单工厂模式 简单工厂模式是属于创建型模式,又叫做静态工厂方法模式。…...

考研篇——数据结构王道3.2.2_队列的顺序实现

目录 1.实现方式说明2.代码实现2.12.1.1 代码12.1.2 代码22.1.3 代码3 2.22.2.1 代码42.2.5 代码52.2.6 代码6 总结 1.实现方式说明 多在选择题中考察 队尾指针(rear)有两种指向方式: 队尾指针指向队尾元素的位置,队尾指针指向…...

从零开始理解 Trie 树:高效字符串存储与查找的利器【自动补全、拼写检查】

题目分析 这道题让我们实现一个 Trie 类(也称为前缀树),以便高效地插入和查询字符串。前缀树是一种特殊的树形数据结构,适用于快速存储和检索字符串数据集中的键,比如实现 自动补全 和 拼写检查。 题目要求 Trie 类…...

关于sse、websocket与流式渲染

一、SSE是什么? 网络中的 SSE (Server-Sent Events) 是一种服务器向浏览器单向推送数据的机制,常用于需要实时更新的数据传输,如新闻推送、股票行情、聊天应用等。 SSE 的特点: 单向通信:服务器向客户端推送数据&…...

Python 语法与数据类型详解

Python 语法与数据类型详解 Python 以其简洁易读的语法和丰富多样的数据类型在编程领域占据重要地位。深入理解 Python 的语法和数据类型是掌握这门语言的关键。 一、Python 语法概述 (一)缩进规则 Python 独特的缩进规则是其语法的重要特征之一。与…...

LeetCode题练习与总结:扁平化嵌套列表迭代器--341

一、题目描述 给你一个嵌套的整数列表 nestedList 。每个元素要么是一个整数,要么是一个列表;该列表的元素也可能是整数或者是其他列表。请你实现一个迭代器将其扁平化,使之能够遍历这个列表中的所有整数。 实现扁平迭代器类 NestedIterato…...

51单片机快速入门之 AD(模数) DA(数模) 转换 2024/10/25

51单片机快速入门之 AD(模数) DA(数模) 转换 2024/10/25 声明:本文图片来源于网络 A模拟信号特点: 电压或者电流 缓慢上升 随着时间连续缓慢上升或下降 D数字信号特点:电压或者电流 保持一段时间的高/低电平 状态 / 突变 (高电压瞬间低电压) 数字电路中 通常将0-1v电压称…...

Typora 、 Minio and PicGo 图床搭建

流程介绍 本地安装Typora笔记工具拥有一台装有docker的服务器配置minio云图床管理控制页面下载PicGo上传工具服务器Docker环境搭建—Ubuntu系统 删除旧docker的所有依赖(非root用户) # 删除docker及安装时自动安装的所有包 sudo apt-get autoremove docker docker-ce docker…...

【计网】UDP Echo Server与Client实战:从零开始构建简单通信回显程序

目录 前言: 1.实现udpserver类 1.1.创建udp socket 套接字 --- 必须要做的 socket()讲解 代码实现:​编辑 代码讲解: 1.2.填充sockaddr_in结构 代码实现: 代码解析: 1.3.bind sockfd和…...

微服务网关Zuul

一、Zuul简介 Zuul是Netflix开源的微服务网关,包含对请求的路由和过滤两个主要功能。 1)路由功能:负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础。 2)过滤功能:负责对请求的过程…...

BuildCTF线上赛WP

Build::CTF flag不到啊战队--WP 萌新战队,还请多多指教~ 目录 Build::CTF flag不到啊战队--WP Web ez!http find-the-id Pwn 我要成为沙威玛传奇 Misc what is this? 一念愚即般若绝,一念智即般若生 别真给我开盒了哥 四妹,你听…...

《使用Gin框架构建分布式应用》阅读笔记:p143-p207

《用Gin框架构建分布式应用》学习第10天,p143-p207总结,总计65页。 一、技术总结 1.auth0 本人实际工作中未遇到过,mark一下,参考:https://auth0.com/。 2.使用template (1)c.File() (2)router.Static() (3)rou…...

华为网络管理配置实例

目录 组网需求 数据规划 配置思路 操作步骤 结果验证 配置脚本 管理员可以通过eSight网管系统对FW进行监控和管理,接收FW的告警。 组网需求 如图1所示,某企业在网络边界处部署了FW作为安全网关,并部署了eSight网管系统对网络设备进行集中…...

大语言模型数据处理方法(基于llama模型)

文章目录 前言一、基于huggingface的DataCollatorForSeq2Seq方法解读1、DataCollatorForSeq2Seq方法2、batch最长序列填充3、指定长度填充二、构建大语言模型数据加工模块1、数据读取2、数据加工1、数据格式2、预训练(pretrain)数据加工3、微调(sft)数据加工①、sft数据加工…...

爱奇艺大数据多 AZ 统一调度架构

01# 导语 爱奇艺大数据技术广泛应用于运营决策、用户增长、广告分发、视频推荐、搜索、会员营销等场景,为公司的业务增长和用户体验提供了重要的数据驱动引擎。 多年来,随着公司业务的发展,爱奇艺大数据平台已积累了海量数据,这…...

【C++篇】栈的层叠与队列的流动:在 STL 的韵律中探寻数据结构的优雅之舞

文章目录 C 栈与队列详解:基础与进阶应用前言第一章:栈的介绍与使用1.1 栈的介绍1.2 栈的使用1.2.1 最小栈1.2.2 示例与输出 1.3 栈的模拟实现 第二章:队列的介绍与使用2.1 队列的介绍2.2 队列的使用2.2.1 示例与输出 2.3 队列的模拟实现2.3.…...

使用 Flask 实现简单的登录注册功能

目录 1. 引言 2. 环境准备 3. 数据库设置 4. Flask 应用基本配置 5. 实现用户注册 6. 实现用户登录 7. 路由配置 8. 创建前端页面 9. 结论 1. 引言 在这篇文章中,我们将使用 Flask 框架创建一个简单的登录和注册系统。Flask 是一个轻量级的 Python Web 框架…...

计算机毕业设计Python+大模型微博情感分析 微博舆情预测 微博爬虫 微博大数据 舆情分析系统 大数据毕业设计 NLP文本分类 机器学习 深度学习 AI

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 《Python大模型微博情感分析…...

CTF--Misc题型小结

(萌新笔记,多多关照,不足之处请及时提出。) 不定时更新~ 目录 密码学相关 文件类型判断 file命令 文件头类型 strings读取 隐写术 尺寸修改 文件头等缺失 EXIF隐写 thumbnail 隐写 文件分离&提取 binwalk foremo…...

深度学习系列——RNN/LSTM/GRU,seq2seq/attention机制

1、RNN/LSTM/GRU可参考: https://zhuanlan.zhihu.com/p/636756912 (1)对于这里面RNN的表示中,使用了输入x和h的拼接描述,其他公式中也是如此 (2)各符号图含义如下 2、关于RNN细节,…...

通过call指令来学习指令摘要表的细节

E8 cw cw 表示E8后面跟随2 字节 (什么数不知道) rel16 指在与指令同一代码段内的相对地址偏移 D ,指向Instruction Operand Encoding 表中的D列, 他告诉我们 操作数1 是一个0FFSET N.S. 在64位模式下,某些指令需要使用“地址覆盖前缀”(address over…...

10分钟使用Strapi(无头CMS)生成基于Node.js的API接口,告别繁琐开发,保姆级教程,持续更新中。

一、什么是Strapi? Strapi 是一个开源的无头(headless) CMS,开发者可以自由选择他们喜欢的开发工具和框架,内容编辑人员使用自有的应用程序来管理和分发他们的内容。得益于插件系统,Strapi 是一个灵活的 C…...

创建插件 DLL 项目

Step 1: 创建插件 DLL 项目 在 Visual Studio 中创建一个新的 DLL 项目&#xff0c;并添加以下文件和代码。 头文件&#xff1a;CShapeBase.h cpp 复制代码 #pragma once #include <afxwin.h> // MFC 必需头文件 #include <string> #include <vector> #i…...

OpenCV双目相机外参标定C++

基于OpenCV库实现双目测量系统外参标定过程。通过分析双目测量系统左右相机拍摄的棋盘格标定板图像&#xff0c;包括角点检测、立体标定、立体校正和畸变校正的步骤&#xff0c;获取左右相机的相对位置关系和姿态。 a.检测每张图像中的棋盘格角点&#xff0c;并进行亚像素级精…...

html网站开发基础/百度竞价登录

作者原文地址&#xff1a;http://www.w3cplus.com/css3/transform-basic-property.html 在《CSS3 Transform——transform-origin》一文中主要介绍了CSS3 Transform属性中的transform-origin属性的使用&#xff0c;其实在transform属性中&#xff0c;transform-origin属性仅是其…...

全屏类网站/最有效的网络推广方式和策略

在Windows 8 的IIS&#xff08;8.0&#xff09;中搭建PHP运行环境&#xff1a; 一&#xff1a;安装IIS服务器 1.进入控制面板>>程序和功能>>打开或关闭Windows 功能&#xff0c;找到Internet信息服务&#xff0c;记得选中CGI这一项 2.安装完成后在浏览器中打开loca…...

做礼品的网站/nba最新交易信息

引言 桥接模式就将要解决什么样的问题呢&#xff1f;我们具几个显示中的例子来加深理解 例子一 拿汽车在路上行驶的来说。即有轿车&#xff0c;又有公共汽车&#xff0c;它们都不但能在市区中的公路上行驶&#xff0c;也能在高速公路上行驶。这你会发现&#xff0c;对于不同的…...

常用的网站类型有哪些类型有哪些类型/策划方案怎么做

extra主要有是那种情况&#xff1a;Using index、Using filesort、Using temporary、Using whereUsing where无需多说&#xff0c;就是使用了where筛选条件。数据准备&#xff1a;CREATE TABLE t_blog (id int(11) NOT NULL auto_increment,title varchar(50) default NULL,typ…...

厦门市网站建设app开发/手把手教你优化网站

前言 作为一个从事自动化测试3年了的我来说&#xff0c;做自动化测试后悔吗&#xff0c;后悔&#xff0c;真的后悔&#xff01; 后悔没有早点学..... 虽然到处都在散播35的焦虑&#xff0c;姑且信之&#xff0c;那么反问你&#xff0c;如果你30岁了&#xff0c;那么给你5年&…...

网站域名申请了该怎么做/北京百度推广客服电话多少

中文分词在中文信息处理中是最最基础的&#xff0c;无论机器翻译亦或信息检索还是其他相关应用&#xff0c;如果涉及中文&#xff0c;都离不开中文分词&#xff0c;因此中文分词具有极高的地位。中文分词入门最简单应该是最大匹配法了&#xff0c;当年师兄布置给我的第一个学习…...