这个项目能做什么

Jolito 是一款面向墨西哥西班牙语口语学习者的开源闪卡应用。它将间隔重复复习循环与音频沉浸感及键盘驱动的练习流程相结合,既可以作为可安装且支持离线的 Web 应用运行,也可以作为原生 iOS 软件包运行。 README 中描述的亮点包括: - 键盘优先复习:Enter 键揭晓答案,1-4 键进行评分,空格键播放音频,输入框自动聚焦,确保双手无需离开键盘。 - 听觉优先音频:提示和答案均附带墨西哥西班牙语口语音频。 - 主动输入回忆:学习者通过输入答案而非仅凭识别来学习;即时视觉差异对比会突出显示拼写差异,而评分仍由用户自行评估。 - 双卡工作台:联动创建西班牙语-英语互惠卡片,支持并排预览和批量编写。 - 离线词典助手:内置墨西哥西班牙语词典,提供翻译、词元和动词变位提示。 - 重复检测:涵盖卡片创建、牌组管理和编辑过程。 - Anki 导入:可通过 .apkg 包或文本导出导入现有牌组,并保留学习历史和复习计划。 - 原生 iOS 构建:通过 Capacitor 构建,在揭晓答案和评分时提供触感反馈。 - 离线优先存储:具备本地持久化和 service-worker 缓存,支持 PWA 安装。 - 个人牌组:支持无密码电子邮件登录,并由 Supabase 提供多设备同步支持。 该项目定位在两种极端之间:一种是需要手动编写卡片(剪辑音频、添加图片、设置模板)的通用间隔重复工具,另一种是具有固定课程的游戏化学习应用。Jolito 的目标是实现零摩擦的卡片创建,让学习者能够自主控制学习哪些现实世界的短语。 本地运行需要 Node.js >= 24 和 npm。克隆后,执行 `npm ci` 安装依赖,`npm run dev` 在 http://localhost:5173 启动开发服务器。若要检查可安装的生产构建,执行 `npm run build && npm run preview` 并在 http://localhost:4173 访问;在联网状态下加载一次后,即可测试离线重新加载行为。针对 SSH 转发端口的远程开发已有文档说明,因为单独使用 Mosh 无法承载 TCP 端口。 仓库中的进一步文档涵盖了产品愿景、设计原则、路线图、参考六边形领域结构的架构描述(含本地优先存储)、描述测试金字塔的质量指南、可访问性不变性与 CI 契约,以及关于 Supabase 同步配置和 Cloudflare Workers 部署的开发指南。该项目采用 Apache License 2.0 许可证。