一个全栈日记应用程序,使用 Spring Boot 和 Vue.js 构建,具有安全的身份验证、文件管理和丰富的用户界面。
- 基于 JWT 的身份验证系统
- 角色基础访问控制(管理员/用户)
- 使用 BCrypt 加密密码
- 注册时的验证码验证
- 使用 JDBC 存储会话管理
- CORS 配置
- 输入验证和清理
- 包含验证的用户注册
- 个人资料管理(头像、显示名)
- 管理员用户管理界面
- 用户状态跟踪(活跃/锁定/已删除)
- 最后登录跟踪
- 电子邮件验证
- 创建、读取、更新和删除日记条目
- 每个条目支持多张图片附件
- 基于日期检索日记
- 图片预览支持
- 内容格式化
- 基于日期范围的过滤
- 安全的文件存储系统
- 自动文件清理(保留30天)
- 支持图片上传并进行验证
- 文件类型限制
- 最大文件大小限制
- 缩略图生成
- 使用 Tailwind CSS 的响应式设计
- 支持深色/浅色主题
- 日历集成
- 自定义背景支持
- 图片预览
- 表单验证
- 加载状态处理
- 错误处理
- Spring Boot 3.2.3
- Spring Security
- Spring Data JPA
- PostgreSQL
- JWT 认证
- Java 8
- Maven
- Vue.js 3
- Pinia 状态管理
- Vue Router
- Tailwind CSS
- Heroicons
- Axios
- Vite
- 控制器:处理 HTTP 请求
- 服务:业务逻辑实现
- 仓库:数据访问层
- 实体:数据模型
- 数据传输对象 (DTO):数据传输对象
- 配置:应用程序配置
- 安全:认证和授权
- 异常:全局异常处理
- 视图:页面组件
- 组件:可重用的 UI 元素
- 服务:API 集成
- 存储:状态管理
- 资源:静态资源
- 路由:导航配置
- CSRF 保护
- XSS 预防
- 密码的安全存储
- 输入验证
- 文件类型的验证
- 基于角色的授权
- 会话安全
- 请求速率限制
- JDK 8 或更高版本
- Maven 3.6+
- PostgreSQL 12+
- Node.js 14+
- npm 或 yarn
- JWT 设置
- 文件存储路径
- 数据库连接
- CORS 设置
- 会话配置
- 邮件服务器设置
- 文件大小限制