# DDLearn **Repository Path**: kpret/ddlearn ## Basic Information - **Project Name**: DDLearn - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-16 - **Last Updated**: 2025-11-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DDLearn - 智能语言学习平台 基于遗忘曲线与大语言模型的情境对话与句子补全学习系统 ## 项目简介 DDLearn 是一个智能化的语言学习平台,结合**艾宾浩斯遗忘曲线**与**大语言模型(LLM)**技术,通过**情境对话**和**句子补全**两种方式,帮助用户在真实场景中提高语言能力。系统通过智能算法安排复习计划,提供个性化学习路径,实现高效、持久的语言掌握。 ## 核心功能 ### 🎭 情境对话 模拟真实生活场景(旅行、购物、餐厅、职场等),通过多轮对话练习: - **多场景支持** - 涵盖日常生活各类应用场景 - **角色扮演** - 用户与系统扮演不同角色进行互动 - **即时纠错反馈** - 实时语法和表达纠正,附带详细解释 - **动态难度调整** - 根据用户表现自适应调整对话难度 ### ✍️ 句子补全 基于上下文的填空练习,强化语法和词汇理解: - **多样化填空** - 词汇填空、语法结构填空、自由填空 - **实时反馈解析** - 补全后立即提供正确答案和详细解析 - **难度递进** - 根据学习进度自动调整难度 ### 🧠 遗忘曲线智能复习 基于艾宾浩斯遗忘曲线的科学记忆算法: - **动态复习提醒** - 在最佳时间点安排复习 - **个性化学习路径** - 根据用户表现定制学习计划 - **进度实时跟踪** - 可视化学习进度和复习安排 ## 技术架构 ### 技术栈 **前端** - Vue 3 - 现代化组件式框架 - Vite - 快速构建工具 - Element Plus - UI 组件库 **后端** - Go - 高性能并发处理 - Gin - 轻量级 Web 框架 - GORM - PostgreSQL ORM **数据库** - PostgreSQL - 主数据库 - pgvector - 向量存储扩展(用于语义搜索) **部署** - Docker - 容器化部署 - Docker Compose - 多容器编排 **监控(规划中)** - Elastic APM / OpenTelemetry - 性能监控 ### 系统架构 ``` ┌─────────────────┐ REST API ┌──────────────────┐ GORM ┌──────────────────┐ │ Frontend │ ←───────────────→ │ Backend │ ←──────────────→│ Database │ │ Vue 3 + Vite │ │ Go + Gin │ │ PostgreSQL + │ │ Element Plus │ │ │ │ pgvector │ └─────────────────┘ └──────────────────┘ └──────────────────┘ │ │ │ │ ↓ ↓ ┌─────────────────────────────────────────────────────────┐ │ LLM Integration (OpenAI API) │ │ Grammar Checker (LanguageTool) │ │ Forgetting Curve Algorithm │ └─────────────────────────────────────────────────────────┘ ``` ## 项目状态 🚧 **开发阶段**: 项目处于早期实现阶段 **已完成** - ✅ 前端基础框架(Vue 3 + Vite + Element Plus) - ✅ 前端核心页面原型(登录/注册、Dashboard、场景对话、句子补全、复习中心) - ✅ 后端基础架构(Go + Gin + GORM) - ✅ 用户认证系统(JWT) - ✅ 数据库连接与配置管理 **进行中** - 🔄 前后端 API 对接 - 🔄 Pinia 状态管理集成 - 🔄 LLM 对话系统实现 - 🔄 遗忘曲线算法开发 **待开发** - ⏳ WebSocket 实时对话 - ⏳ 完整的练习与复习系统 - ⏳ 数据统计与可视化 - ⏳ Docker 部署优化 ## 安装与使用 ### 环境要求 - Node.js 20+ - Go 1.25+ - PostgreSQL 14+ - Docker & Docker Compose ### 快速开始 **使用 Docker Compose(推荐)** ```bash # 克隆项目 git clone cd DDLearn # 启动数据库服务 docker-compose up -d postgres redis # 等待数据库就绪后,启动后端和前端 docker-compose up -d ``` **访问应用** - 前端: http://localhost:5173 - 后端 API: http://localhost:8080 - API 健康检查: http://localhost:8080/api/health ### 开发环境 **前置准备** ```bash # 启动数据库(必需) docker-compose up -d postgres redis ``` **前端开发** ```bash cd frontend npm install npm run dev # 访问 http://localhost:5173 ``` **后端开发** ```bash cd backend cp .env.example .env.local # 编辑 .env.local 配置数据库连接等信息 # 运行后端服务 APP_ENV=local make run # 或者 APP_ENV=local go run ./cmd/api # 访问 http://localhost:8080/api/health ``` **数据库设置** ```bash # 如果不使用 Docker,手动创建数据库 psql -U postgres CREATE DATABASE ddlearn; CREATE USER ddlearn WITH PASSWORD 'ddlearn'; GRANT ALL PRIVILEGES ON DATABASE ddlearn TO ddlearn; # 启用 pgvector 扩展(可选,用于语义搜索) \c ddlearn CREATE EXTENSION IF NOT EXISTS vector; ``` **环境变量配置** 后端 `.env.local` 示例: ```env DATABASE_URL=postgres://ddlearn:ddlearn@localhost:5432/ddlearn?sslmode=disable JWT_SECRET=your-secret-key-change-in-production ALLOW_ORIGINS=http://localhost:5173 PORT=8080 JWT_EXPIRES_IN=86400 ``` ## 目标用户 - 希望通过实践提高外语能力的学习者 - 需要在真实场景中训练语言表达的用户 - 想要科学高效记忆词汇和语法的学习者 初期支持**英语**学习,后续将扩展至西班牙语、法语、德语等语言。 ## 路线图 **阶段一:基础架构(已完成 80%)** - [x] 前端 Vue 3 + Vite 项目搭建 - [x] 后端 Go + Gin 项目初始化 - [x] 数据库设计与连接配置 - [x] 用户认证系统(JWT) - [x] 基础中间件(CORS、日志、认证) - [ ] Pinia 状态管理完整集成 - [ ] 统一 API 层与错误处理 **阶段二:核心功能(进行中 40%)** - [x] 前端核心页面 UI 原型 - [x] 后端健康检查与基础路由 - [ ] LLM 集成与对话系统 - [ ] 遗忘曲线算法实现 - [ ] 用户学习进度跟踪 - [ ] WebSocket 实时对话 **阶段三:功能完善(规划中)** - [ ] 练习系统完整实现 - [ ] 复习系统与数据统计 - [ ] 词汇和语法点管理 - [ ] 通知与消息系统 - [ ] 搜索功能 **阶段四:优化与扩展(待开始)** - [ ] 性能优化(缓存、索引) - [ ] 单元测试与集成测试 - [ ] 管理后台(RBAC 权限系统) - [ ] 部署文档与 CI/CD - [ ] 多语言支持扩展 **未来展望** - [ ] 语音识别与发音练习 - [ ] 移动应用(iOS/Android) - [ ] 社交学习功能 - [ ] 向量数据库语义搜索 - [ ] 机器学习个性化推荐 ## 贡献 欢迎提交 Issue 和 Pull Request! ## 许可证 待定 ## 联系方式 - 邮箱: [待补充] - GitHub: [待补充]