Skip to content

GengCen-Qin/lazyLearn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

310 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lazy English - 懒人英语学习系统

一个基于 Ruby on Rails 的智能语言学习应用,专为语言学习者设计。通过自动语音识别技术生成同步字幕,提供视频、音频和电子书等多种学习方式,帮助用户高效学习英语。

核心功能

📹 视频解析字幕服务

  • 支持多种视频格式上传(MP4, MOV, WebM, OGG, AVI, MKV, M4V)
  • 用户可以管理和删除自己的视频资源
  • 利用 Whisper 和腾讯ASR 技术自动生成精准时间轴字幕
  • 实时同步视频播放与字幕显示
  • 支持中英文等多种语言转录
  • 便捷操作体验:键盘快捷键控制(空格键播放/暂停,方向键导航),点击字幕直接跳转到对应时间点

🎵 音频解析字幕服务

  • 支持多种音频格式解析
  • 自动生成音频时间轴字幕
  • 利用 Whisper 技术进行音频转录
  • 提供音频播放和字幕同步功能

🔍 词汇查询与收藏服务

  • 内置词典,点击单词即时查询释义
  • 支持生词收藏功能,方便复习
  • 丰富的词汇详情展示
  • 词汇学习进度跟踪

📝 笔记功能

  • 创建和管理个人学习笔记
  • 支持问题和答案形式的笔记记录
  • 笔记分类和检索功能
  • 复习时间追踪

📚 电子书阅读和记录进度服务

  • 支持 TXT 格式电子书上传
  • 分页加载长文本内容
  • 记录和同步阅读进度
  • 智能进度百分比计算
  • 响应式阅读界面

📱 其他特色功能

  • 响应式设计:适配桌面端和移动端设备
  • 暗黑模式支持
  • 流畅的用户界面交互
  • 异步处理:视频/音频转录采用后台任务处理
  • 云端存储(OSS)集成

技术架构

  • 框架: Ruby on Rails 8.0.4
  • 前端: Stimulus.js, TailwindCSS, Video.js
  • 数据库: SQLite3 (开发环境), PostgreSQL (生产环境)
  • 部署: Docker 容器化部署
  • 队列: Solid Queue 后台任务处理
  • 缓存: Solid Cache 缓存服务

开发环境配置

前提条件

  • Ruby 3.4.6
  • Node.js
  • SQLite3

安装步骤

# 1. 安装依赖
bundle install

# 2. 数据库初始化
rails db:setup

# 3. 启动开发服务器
bin/dev

或者分别运行:

# 启动 Rails 服务器
rails server

# 启动 Tailwind CSS 监听器
rails tailwindcss:watch

项目结构

app/
├── controllers/     # 控制器
├── javascript/      # JavaScript 和 Stimulus 控制器
├── models/          # 数据模型
├── services/        # 业务逻辑服务
├── views/           # 视图模板
└── jobs/            # 后台任务

功能模块

视频管理

  • /videos - 视频列表页面
  • /videos/:id - 视频播放页面,带同步字幕

音频管理

  • /audios - 音频列表页面
  • /audios/:id - 音频播放页面,带同步字幕

电子书管理

  • /books - 电子书列表页面
  • /books/:id - 电子书阅读页面,带进度记录

用户系统

  • 用户注册/登录
  • 会话管理
  • 密码找回

学习工具

  • /favorites - 收藏的单词列表
  • /notes - 学习笔记管理
  • /word_lookup - 词汇查询接口

部署说明

本项目已配置 Docker 支持,可通过以下方式构建生产镜像:

# 构建 Docker 镜像
docker build -t lazy-english .

# 运行容器(需要配置环境变量)
docker run -d -p 80:80 -e RAILS_MASTER_KEY=<master_key> --name lazy-english lazy-english

特色亮点

  1. 多模态学习: 支持视频、音频和电子书三种学习模式
  2. 智能转录: 使用先进的语音识别技术,自动生成高质量字幕
  3. 学习友好: 一键查询单词释义,支持生词收藏,提升学习效率
  4. 交互流畅: 优化的用户界面和操作体验
  5. 进度管理: 完整的学习进度跟踪和记录功能
  6. 离线支持: PWA 技术支持,可安装为独立应用
  7. 云端同步: 支持云端存储,随时随地学习

使用场景

  • 英语学习者观看原版视频材料
  • 需要精听练习的语言学习
  • 电影、纪录片等娱乐性学习
  • 专业课程视频的学习辅助
  • 音频材料的精听训练
  • 电子书阅读和进度管理
  • 词汇积累和复习

贡献

欢迎提交 Issue 和 Pull Request 来改进本项目。

About

提供视频解析,英语学习服务

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors