🎬 看剧 · 💬 聊剧 · 🤖 AI 助手 · 📝 社区讨论
|
|
|
|
果冻影院是一个全栈微服务项目,采用前后端分离架构,集影视浏览、实时通讯、社区互动、AI 智能于一体。用户可以在观影时即时聊剧,在社区深度讨论,并通过 AI 助手获取增强信息或生成衍生小说内容。
适用场景:
- 🎓 学习微服务架构的完整实战项目
- 💼 求职面试的亮眼作品集
- 🚀 二次开发的基础框架
- 框架: Spring Boot 3.2+, Spring Cloud Alibaba
- 注册/配置中心: Nacos
- 消息队列: RocketMQ 4.9.x
- 数据库: MySQL 8.0
- 缓存: Redis 6.2, Caffeine
- 搜索引擎: Elasticsearch 7.6
- 认证: Sa-Token
- AI: LangChain4j, Spring AI
- 框架: Vue 3 (Composition API)
- 构建工具: Vite
- 状态管理: Pinia
- UI 组件: Element Plus
- 样式: TailwindCSS
jelly-cinema-v2/
├── jelly-gateway # API 网关 (8080)
├── jelly-auth # 认证服务 (9100)
├── jelly-modules/
│ ├── jelly-film # 电影服务 (9200) - 电影列表/详情/搜索/推荐
│ ├── jelly-community # 社区服务 (9300) - 帖子/评论/投票(仿知乎)
│ ├── jelly-im # IM 服务 (9400) - WebSocket实时通讯/RocketMQ
│ └── jelly-ai # AI 服务 (9500) - RAG问答/小说生成/LLM对话
├── jelly-common/ # 公共模块
│ ├── jelly-common-core # 核心工具类
│ ├── jelly-common-redis # Redis 模块
│ ├── jelly-common-mybatis # MyBatis Plus 模块
│ └── jelly-common-security # 安全认证模块
├── jelly-ui-web/ # 前端项目 (Vue3)
├── doc/
│ └── sql/ # 数据库脚本
└── docker-compose.yml # Docker 编排
# 启动 MySQL, Redis, Nacos, Elasticsearch, RocketMQ, MinIO
docker-compose up -d# 执行 doc/sql/jelly_cinema.sql 初始化数据库# 按顺序启动服务
1. jelly-gateway (网关)
2. jelly-auth (认证)
3. jelly-film (电影)cd jelly-ui-web
npm install
npm run devPOST /auth/login- 登录POST /auth/register- 注册POST /auth/logout- 退出登录GET /auth/user/info- 获取用户信息
GET /film/list- 电影列表GET /film/detail/{id}- 电影详情GET /film/search- 搜索电影GET /film/recommend/feed- 推荐电影GET /film/recommend/hot- 热门榜单GET /film/category/list- 分类列表
GET /post/list- 帖子列表GET /post/detail/{id}- 帖子详情POST /post/create- 发布帖子POST /post/vote/{id}- 投票(赞同/反对)GET /comment/list/{postId}- 评论列表POST /comment/create- 发布评论POST /comment/like/{id}- 点赞评论
GET /im/sessions- 会话列表GET /im/history/{sessionId}- 历史消息POST /im/recall/{messageId}- 撤回消息WS /ws/chat?token=xxx- WebSocket 连接
POST /ai/chat- 同步对话POST /ai/chat/stream- 流式对话 (SSE)POST /ai/novel/generate-outline- 生成小说大纲POST /ai/novel/generate-chapter- 生成章节内容 (SSE)POST /ai/rag/upload- 上传 RAG 文档GET /ai/rag/search- RAG 检索
复制 .env.example 为 .env 并配置:
# 数据库
MYSQL_HOST=localhost
MYSQL_PASSWORD=your_password
# Redis
REDIS_HOST=localhost
# 腾讯云 COS
COS_SECRET_ID=your_cos_secret_id
COS_SECRET_KEY=your_cos_secret_key
COS_BUCKET=your_bucket
# AI API
AI_SILICONFLOW_KEY=your_siliconflow_key
AI_DEEPSEEK_KEY=your_deepseek_key- ✅ 遵循阿里巴巴 Java 开发手册
- ✅ 使用 Lombok 简化代码
- ✅ RESTful API 设计规范
- ✅ 统一响应格式
R<T> - ✅ 全局异常处理
- ✅ Sa-Token 权限控制
- ✅ MyBatis Plus 通用 CRUD
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 提交 Pull Request
本项目采用 MIT License 开源协议。




