Skip to content

brownchow/blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 

Repository files navigation

MyBlog - 个人博客管理系统

一个基于 Java 21 和 Spring Boot 3 构建的现代化个人博客系统,包含美观的前端展示界面及功能完善的后台管理系统。

1. 项目功能

1.1 前端展示

  • 首页展示:动态加载博客文章列表,支持分页查询。
  • 文章详情:支持查看文章全文,排版优雅。
  • 关于我:个人简介展示。
  • 联系我们:访客在线留言反馈。

1.2 后台管理

  • 用户管理
    • 管理员可新增/删除用户(内置 admin 保护)。
    • 查看用户在线状态,支持强制下线。
    • 用户个人资料(真实姓名)修改及密码修改。
  • 文章管理
    • 文章发布(支持 Quill 富文本编辑器)、编辑、删除。
    • 支持 图片上传,后端自动对接 rustFS 存储。
    • 图片限制规则:
      • 大小限制: 可配置(默认 5MB,见 application.yml 中的 blog.upload.max-size)。
      • 格式限制: 仅支持 jpg, jpeg, png, gif, webp
      • 内容校验: 后端集成 Apache Tika 进行真实 MIME 类型检测,防止伪造后缀上传。
    • 支持 标签(Tags) 系统及 浏览次数(View Count) 统计。
    • 支持分页管理及权限校验(用户仅能删改自己的文章)。
  • 留言管理:管理员可实时查看并管理访客留言。
  • 安全机制:基于 Redis 的 Token 鉴权,支持 Token 自动过期与活跃自动续期。

2. 技术栈

2.1 后端

  • 核心框架:Java 21, Spring Boot 3.4.3
  • 数据库相关:MySQL 8.0.45, MyBatis Plus 3.5.7
  • 文件存储:rustFS (通过 MinIO SDK 对接)
  • 缓存/鉴权:Redis
  • 工具类:Lombok, Alibaba FastJSON2
  • 打包部署:Maven Assembly Plugin (分模块打包), Shell 脚本启停

2.2 前端

  • 基础技术:HTML5, CSS3, JavaScript (Vanilla JS)
  • 富文本编辑器:Quill.js
  • 字体/样式:Google Inter Fonts, 响应式布局
  • 通信:Fetch API (封装于 api.js)

3. 系统架构

graph TD
    User((访客/管理员)) -->|Browser| Frontend[前端页面 HTML/CSS/JS]
    Frontend -->|POST JSON| API[后端接口 Spring Boot]
    API -->|Auth| Interceptor[Token 拦截器]
    Interceptor -->|Validate| Redis[(Redis)]
    API -->|CRUD| Service[Service 业务逻辑]
    Service -->|MyBatis Plus| DB[(MySQL 8.0.45)]
Loading

4. 快速开始

4.1 环境准备

  • JDK 21+
  • MySQL 8.0.45
  • Redis 6.0.16 (需开启密码认证)
  • rustFS (兼容 MinIO 协议的对象存储)

项目中间件及配置总览

后台程序与所有中间件运行在同一台服务器上,具体配置如下:

组件类型 版本 关键配置 账号/密码 端口 其他信息
MySQL 8.0.45 数据库名:blog 用户名:root
密码:12345678
3306 -
Redis 6.0.16 强制密码认证
库:db0
密码:12345678 6379 -
rustFS - - 用户名:rustfsadmin
密码:rustfsadmin
API端口:9000
管理端口:9001
-

4.2 数据库初始化

执行 backend/sql/blog.sql 脚本以初始化库表及内置 admin 账号。

4.3 编译与运行

cd backend
mvn clean package -DskipTests
cd target/blog-backend
sh bin/start.sh

4.4 访问

  • 前端首页:打开 frontend/index.html
  • 管理后台:打开 frontend/login.html (默认账号: admin / 123456)

5. 项目文档

About

博客网站

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors