# spiritualjoy-h5-admin
**Repository Path**: hyper-yang/daily-note
## Basic Information
- **Project Name**: spiritualjoy-h5-admin
- **Description**: 这是文章分享和文章管理的项目后台,基于spring-boot3、vue3开发,使用分布式文件存储系统 minio存储图像等文件、NoSql数据库 redis存储token、关系型数据库 mysql存储结构化数据
后端进行了响应拦截、token生成和验证、线程本地变量标识用户、自定义注解验证提交数据等拓展,前端使用pinia进行数据状态缓存、使用axios封装请求响应拦截器、使用插件存储富文本数据
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-09-02
- **Last Updated**: 2025-10-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: SpringBoot, vue3, Redis, minio, docker-file
## README
# 灵悦随记
## 项目简介
**灵悦随记**: 是一款专为用户打造的文章/日记管理系统,后端基于 Spring Boot 开发,前后端分离,接口简洁易用。系统支持用户注册、登录、文章分类、文章管理、图片等文件上传,并集成了参数校验、JWT 鉴权、全局异常处理等能力。适合自建知识库、随手记等多种场景。项目结构清晰,对开发初学者也有不错的学习参考价值。
**项目体验地址**:[http://8.136.9.202](http://8.136.9.202)
**后端 Docker 镜像**:`crpi-ag9l05l817t23m5b.cn-hangzhou.personal.cr.aliyuncs.com/sakiko-prod/spiritual-joy:v1.0.0`
**作者声明**: 在合法合规范围内,本项目允许任何形式二次创作。为丰富用户体验,后续或将发布微信小程序、移动端应用程序版本,有兴趣可联系作者共创
## 业务功能
- **用户管理**
- 用户注册、登录
- 用户信息修改、头像上传、密码修改
- **文章分类管理**
- 分类的新增、查询、修改、删除
- **文章管理**
- 文章的新增、查询(分页、分类/状态筛选)、修改、删除
- **文件上传**
- 支持上传图片等文件,返回可访问链接
## 系统功能
- JWT 登录鉴权,Redis 存储 token
- 参数校验(含自定义注解)
- 全局异常处理
- 分页查询(PageHelper)
- 多环境配置(dev/prod/test)
## 项目目录结构
```text
├── pom.xml # Maven 配置文件
├── src/
│ ├── main/
│ │ ├── java/com/sakiko/dailynote/ # 主代码目录
│ │ │ ├── controller/ # 控制器(接口层)
│ │ │ ├── service/ # 业务逻辑层
│ │ │ ├── mapper/ # MyBatis 映射层
│ │ │ ├── pojo/ # 实体类
│ │ │ ├── utils/ # 工具类
│ │ │ ├── config/ # 配置类
│ │ │ ├── exception/ # 全局异常
│ │ │ ├── interceptors/ # 拦截器
│ │ │ └── validations/annotations/ # 参数校验相关
│ │ └── resources/
│ │ ├── application.yml # 主配置
│ │ ├── application-dev.yml # 开发环境配置
│ │ ├── application-prod.yml # 生产环境配置
│ │ ├── application-test.yml # 测试环境配置
│ │ └── com/sakiko/dailynote/mapper/ # MyBatis XML
│ └── test/ # 测试代码
└── target/ # 编译输出目录
```
## 技术栈说明
- **后端框架**:Spring Boot 3.4.x
- **ORM 框架**:MyBatis(注解+XML 混合)
- **数据库**:MySQL
- **缓存/会话**:Redis(用于 token 存储)
- **分布式文件存储**:MinIO(支持大文件上传与外链访问)
- **参数校验**:Spring Validation + 自定义注解
- **鉴权**:JWT(java-jwt)
- **分页**:PageHelper
- **依赖管理**:Maven
- **辅助工具**:Lombok
## 快速启动
1. **准备环境** 【推荐 docker 安装】
- JDK 17+
- MySQL
- Redis
- MinIO 【可选】
- Nginx 【可选】
2. **配置数据库/Redis/MinIO**
- 修改 `src/main/resources/application-*.yml`,填入你的数据库、Redis、MinIO 连接信息。
3. **构建并运行**
```shell
mvn clean package
java -jar target/spiritual-joy.jar
```
或用 IDE 直接运行 `DailyNoteApplication.java`
4. **接口文档**
- 可用 Postman ApiFox 自行调试接口。
## 联系作者 & 贡献方式
欢迎提交 issue 或 PR,建议先提 issue 讨论。作者联系方式: hyper_y@163.com
## 常见问题
- **数据库表结构**:请根据实体类自行建表。
- **MinIO/Redis 连接失败**:请检查配置和服务是否启动。
- **依赖缺失**:请确保使用 Maven 并已下载所有依赖。
- **提供后端一步构建**: docker run crpi-ag9l05l817t23m5b.cn-hangzhou.personal.cr.aliyuncs.com/sakiko-prod/spiritual-joy:v1.0.0
- **没有前端?看不到页面效果**: 资料文件夹 1、提供 dist 可通过 nginx 配置代理 2、提供 .sql 结构文件
## 补充
- 后续移动端、小程序端代码还在加急开发中 ing...