【Code With SOLO】用 SOLO 从零打造基于艾宾浩斯遗忘曲线的记忆卡片工具:自定义记忆卡片 + 科学复习曲线 + 卡片分享导入

访问地址

1. 摘要

本文介绍如何使用 SOLO 从零构建一个基于艾宾浩斯遗忘曲线的记忆卡片学习工具。通过 AI 辅助开发,实现了智能复习算法、卡片分享导入和社区广场等核心功能,相比传统开发方式,开发效率提升约 60%,项目周期从预估的 2 周缩短至 5 天完成全部功能。

2. 背景

我是一名计算机专业研究生,在日常学习和备考过程中,经常需要记忆大量知识点(如数据结构、算法、考研政治等)。传统的记忆方式存在以下痛点:

  • 复习无计划:不知道什么时候该复习什么内容,容易遗忘
  • 知识孤岛:个人积累的卡片无法与他人共享,学习资源利用率低
  • 工具碎片化:市面上的记忆工具要么功能单一,要么过于复杂

我希望打造一个既科学又实用的记忆卡片工具——基于艾宾浩斯遗忘曲线自动安排复习时间,同时支持卡片分享导入,让学习者之间可以互相借鉴优质卡片组。

3. 实践过程

3.1 任务拆解

我将项目分为三个阶段:

阶段 目标 核心功能
Phase 1 核心功能 用户认证、卡片管理、艾宾浩斯复习算法、Dashboard 统计
Phase 2 分享功能 公开/私密分享、邀请码导入、社区广场浏览
Phase 3 增强功能 推送通知、点赞收藏、评论互动

3.2 使用 SOLO 的能力

能力一:智能任务规划

我首先向 SOLO 描述了项目需求,SOLO 自动生成了详细的实现计划:

“创建一个基于艾宾浩斯记忆法的记忆卡片应用,需要哪些核心功能?”

SOLO 不仅给出了功能清单,还提供了技术架构建议(React + Node.js + Prisma + SQLite),并输出了完整的设计文档和代码实现计划。

能力二:代码自动生成

以 Phase 2 分享功能为例,我使用了 executing-plans 技能执行实现计划:

Markdown

请按计划实现 Phase 2 的分享功能,包括:
1. 数据库添加邀请码字段
2. 后端分享服务层和控制器
3. 前端分享组件和社区广场页面

SOLO 自动拆解为 10 个子任务,逐个完成并生成完整的代码。

能力三:代码审查与优化

完成功能后,我让 SOLO 检查代码质量和潜在问题:

“检查 ReviewPage.tsx 中艾宾浩斯算法的实现是否有问题”

SOLO 发现了标签显示缺失的问题,并自动修复了代码。

3.3 关键 Prompt 示例

Prompt 1:创建艾宾浩斯复习算法

Plain Text

实现一个艾宾浩斯遗忘曲线复习算法,基础间隔为:1天→2天→4天→7天→15天→30天...
根据用户选择的难易程度(1-5)动态调整复习间隔:
- 忘记:间隔缩短,重新学习
- 困难:间隔缩短 30%
- 一般:按基础间隔
- 简单:间隔延长 30%
- 太简单:间隔延长 50%

Prompt 2:实现分享功能

Plain Text

为卡片组添加分享功能:
1. 公开分享 - 在社区广场展示
2. 私密分享 - 生成分享链接/邀请码
3. 导入功能 - 复制到他人的账户
4. 社区广场 - 浏览、搜索、筛选公开卡片组

3.4 踩坑记录

问题描述 解决方案
端口占用 多次重启后端口被占用导致服务启动失败 使用 pkill -9 强制终止进程,并检查端口占用情况
依赖丢失 tsx 和 vite 命令找不到 重新执行 npm install 安装依赖
跨域问题 API 请求失败 配置 Vite 代理,将 /api/uploads 转发到后端
预览访问 浏览器显示代理 URL 改用 Vite 的网络地址(如 http://10.68.x.x:5173 )访问

4. 成果展示

技术架构

Plain Text

┌─────────────────────────────────────────────────┐
│                   前端 (React)                   │
│      登录注册 │ 卡片管理 │ 复习界面 │ 社区广场       │
└───────────────────────┬─────────────────────────┘
                        │ REST API
┌───────────────────────▼─────────────────────────┐
│             后端 (Express + Prisma)              │
│      用户服务 │ 卡片服务 │ 复习服务 │ 分享服务       │
└───────────────────────┬─────────────────────────┘
                        │
          ┌─────────────┴─────────────┐
          │        SQLite 数据库       │
          └───────────────────────────┘

功能展示

:books: 核心功能
首页-展示卡片数据、学习数据、签到

卡片组管理 - 创建、编辑、删除卡片组,支持导入分享的卡片组

卡片学习 - 基于艾宾浩斯遗忘曲线的智能复习系统,点击翻转查看答案,模拟真实记忆卡片体验

记忆评级 - 根据记忆程度选择:忘记了、模糊、记对啦

:globe_with_meridians: 社区功能
公共卡片组 - 浏览和搜索社区分享的卡片组

卡片组分享与导入 - 将自己的卡片组设为公开或生成邀请码分享,通过邀请码或公开ID导入卡片组

:bar_chart: 学习数据
签到系统 - 每日签到获得积分
学习日历 - GitHub 风格的学习活动热力图(近12个月)

:artist_palette: 外观设置
深色/浅色模式 - 支持日间和夜间学习

四种主题风格 - 海洋蓝、莫兰迪、活力橙、极简白,每种主题均有深色和浅色模式

响应式设计 - 适配电脑、平板、手机设备


5. 效果与总结

提效数据

指标 传统开发 使用 SOLO 提升
Phase 1 开发周期 5-7 天 2-3 天 57%
Phase 2 开发周期 4-5 天 1-2 天 60%
Bug 修复时间 平均 30 分钟/个 5-10 分钟/个 75%
文档产出 手动编写 AI 自动生成 节省 80%

SOLO 在流程中的角色

  1. 需求分析阶段:SOLO 帮助梳理功能需求,生成技术架构建议
  2. 代码实现阶段:SOLO 批量生成代码框架和业务逻辑,大幅减少重复编码
  3. 测试调试阶段:SOLO 帮助定位问题、修复 Bug、验证功能
  4. 文档产出阶段:SOLO 自动生成设计文档、API 文档和使用说明

可复用的方法

  1. 先规划后实现:使用 executing-plans 技能生成详细的实现计划,再逐个完成任务
  2. 渐进式开发:分 Phase 进行,每个阶段有明确的目标和交付物
  3. AI 辅助 Review:每完成一个功能模块,让 AI 检查代码质量和潜在问题
  4. 持续集成测试:完成后立即启动服务验证功能,及时发现并修复问题

未来规划

  • Phase 3:添加浏览器推送通知、点赞收藏、评论互动等社区功能
  • 移动端适配:优化手机端操作体验,支持滑动复习
  • 数据分析:添加学习数据分析看板,展示记忆效果趋势

太牛了,大佬 :+1: