Moovie
聚合影视搜索工具,通过整合多源搜索、智能推荐和极致的响应式设计,为你提供一个干净、高效的观影入口
Install / Use
/learn @TwoThreeWang/MoovieREADME
🎬 Moovie影牛
搜全网,只为你想看的那一部。
Moovie 是一款基于 Golang 开发的聚合影视搜索工具。它通过整合多源搜索、智能推荐和极致的响应式设计,为你提供一个干净、高效的观影入口。
示例链接:Moovie影牛 - 发现你的下一部电影
🚀 特性亮点
- 🔍 多源聚合搜索:一键横跨多个影视资源站点,告别碎片化搜索。
- 🧠 智能推荐 (AI Powered):基于
pgvector矢量相似度算法,根据你的观影历史精准推荐。 - 📱 PWA 支持:原生级别的移动端体验,可添加到主屏幕,支持离线图标。
- 📺 流畅播放:内置 HLS.js 播放器,支持 m3u8 高清流媒体播放。
- 📝 观影记忆:自动同步 LocalStorage 到云端,多端进度无缝覆盖。
- ⚡ 极致速度:基于 Gin + htmx,实现无刷新页面更新,响应迅速。
- 🔐 安全可靠:JWT + HttpOnly Cookie 认证,保障隐私安全。
🛠️ 技术栈
| 领域 | 技术方案 | | :--- | :--- | | 语言 | Go (Golang) 1.21+ | | Web 框架 | Gin | | 数据库 | PostgreSQL + pgvector | | 前端交互 | htmx (High Power Tools for HTML) | | 前端样式 | Vanilla CSS (Glassmorphism Design) | | 播放器 | hls.js | | 缓存 | gocache (Local Memory Cache) |
📦 快速开始
环境依赖
- Go: v1.21 或更高版本
- PostgreSQL: v15+ (需安装
pgvector扩展)
本地运行
-
克隆仓储
git clone https://github.com/TwoThreeWang/Moovie.git cd Moovie -
环境配置
cp .env.example .env # 请在 .env 中配置你的数据库连接信息 -
安装依赖并启动
go mod tidy go run ./cmd/server
Docker 快捷部署
[!IMPORTANT] 本项目的
docker-compose.yml配置为使用名为postgres_default的外部网络。在启动之前,请确保你已经有一个正在运行的 PostgreSQL 容器,并且它连接到了该网络。
docker-compose up -d
📂 目录结构
moovie/
├── cmd/server/ # 🚀 程序入口点
├── internal/ # 核心业务逻辑
│ ├── handler/ # 🎮 HTTP 处理器 (API/Admin/View)
│ ├── model/ # 📦 数据模型与 Schema
│ ├── repository/ # 🗄️ 数据库操作 (DAL)
│ ├── service/ # ⚙️ 业务逻辑 (搜索/爬虫/推荐)
│ └── middleware/ # 🛡️ JWT/CORS/Auth 中间件
├── web/ # 前端资源
│ ├── static/ # 🎨 CSS/JS/Assets
│ └── templates/ # 🧬 Go HTML 模板 (Layouts/Partials)
└── ...
🛡️ 许可证
本项目采用 MIT License。详情请参阅 LICENSE 文件。
由 TwoThreeWang 倾情打造。
Related Skills
node-connect
353.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
353.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
353.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
