搜全网,只为你想看的那一部。
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
Important
本项目的 docker-compose.yml 配置为使用名为 postgres_default 的外部网络。在启动之前,请确保你已经有一个正在运行的 PostgreSQL 容器,并且它连接到了该网络。
docker-compose up -dmoovie/
├── 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 倾情打造。