系统架构#
整体架构#
┌─────────────────┐
│ Frontend │ Next.js 16 + React 19
│ (Port 3001) │ Tailwind CSS 4
└────────┬────────┘
│ HTTP/REST
│ JWT Token
┌────────▼────────┐
│ Backend │ Spring Boot 3.2.5
│ (Port 8080) │ Spring Security
└────────┬────────┘
│ JDBC
┌────────▼────────┐
│ Database │ PostgreSQL 16
│ (Port 5432) │
└─────────────────┘
技术选型#
前端技术栈#
- 框架: Next.js 16 (App Router)
- UI 库: React 19
- 样式: Tailwind CSS 4
- 状态管理: Zustand
- 认证: @react-oauth/google
后端技术栈#
- 框架: Spring Boot 3.2.5
- Java 版本: Java 17 LTS
- 安全: Spring Security + JWT
- 数据访问: Spring Data JPA
- 构建工具: Gradle 8.7
数据库#
- PostgreSQL 16
- 选择理由:
- 强大的 ACID 特性
- 优秀的 JSON 支持
- 丰富的索引类型
架构文档导航#
- 系统模型设计 - 完整的 Entity 模型说明(24 个实体)
- 数据库设计 - 表结构、索引策略、查询优化
- 认证授权 - JWT + OAuth2 实现
核心功能模块#
1. 用户系统#
- 注册/登录(邮箱密码)
- OAuth 登录(Google)
- 用户资料管理
- 等级经验系统
2. 课程系统#
- 课程列表浏览
- 章节管理
- 任务(视频/文章/调查)
- 免费试看功能
3. 学习进度#
4. 课程购买#
5. 排行榜#
6. 道馆系统(规划中)#
设计原则#
1. 敏捷开发优先#
2. 高保真复刻#
3. 可部署性#
- 一键 Docker Compose 部署
- 环境变量配置
- 容器化隔离
安全设计#
- JWT 无状态认证
- CORS 跨域保护
- SQL 注入防护(JPA)
- XSS 防护(React 自动转义)
- 敏感信息环境变量化
性能优化#
- Next.js 自动代码分割
- 图片懒加载
- 客户端状态缓存
数据库#