Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

한일 학습대

用韩语学日语的每日 10 分钟多模态学习台 —— 日·韩·中三语对照,SRS 间隔复习,零依赖、开源自部署。

在线演示 · 后端零 npm 依赖 · 前端单文件零外部 CDN


功能特性

  • 每日 10 分钟碎片化学习:自动追踪真实学习数据(连续天数、学习分钟、掌握词数、正确率),不靠手动勾选。
  • 多模态内容
    • 单词卡:例句 + 浏览器语音 + SRS 间隔复习
    • 对话 / 故事:日韩听读,重点词高亮
    • 日语歌曲跟唱:分段歌词 + 罗马音 + 重点词卡
  • 中日韩三语对照:中文默认隐藏,一键显隐。
  • 极简登录:名字即账号(无密码,全局唯一),首次输入即创建。
  • 学习排行:跨用户聚合的连续天数 / 学习分钟 / 掌握词数 / 正确率。
  • 浏览器语音:Web Speech API 朗读日语(ja-JP)与韩语(ko-KR)。

技术栈

技术
后端 Node.js(v22+,使用内置 node:sqlite),单文件 server.js零 npm 依赖
前端 单文件 index.html,CSS/JS 全内联,图表与图标用内联 SVG
数据 SQLite 单文件
语音 浏览器 Web Speech API(ja-JP / ko-KR)

快速开始(本地)

要求 Node.js 22+node:sqlite 需要)。

git clone https://github.com/FireworksRainFromAbove/nihongo.git
cd nihongo
node server.js
# 后端 API 默认监听 http://localhost:8090

前端是纯静态单文件 public/index.html

  • 本地预览:用任意静态服务器托管 public/(如 npx serve public),或将 index.html 放到你的 web 根目录。
  • 前端通过同域 /api/ 路径调用后端(见下方部署)。

部署(生产)

  1. 运行后端:node server.js(默认端口 8090,建议用 systemd 等常驻)。
  2. 用 nginx 等反向代理,将前端静态文件与 /api/ 反向代理到同一域名:
server {
    listen 80;
    server_name your-domain.example;
    root /path/to/nihongo/public;

    location /api/ {
        proxy_pass http://127.0.0.1:8090;
        proxy_set_header Host $host;
    }
}

HTTPS 可用 Let's Encrypt(certbot)自动签发。仓库内含 deploy/krjp.service 作为 systemd unit 示例。

扩展学习内容(教研 / 开发者)

单词、对话、故事、歌曲等内容通过内置 API 管理,无需改代码即可扩充词库。 接口规范、字段 schema 与示例见 AGENT_GUIDE.md

项目结构

nihongo/
├── server.js          # 后端(Node http + node:sqlite,零依赖)
├── public/
│   └── index.html     # 前端(单文件,零外部依赖)
├── AGENT_GUIDE.md     # 内容管理 API 指南(给教研 agent)
├── deploy/
│   └── krjp.service   # systemd unit 示例
├── LICENSE
└── README.md

已知说明

  • 语音依赖浏览器:Web Speech API 由浏览器提供,离线环境下可能不朗读。
  • 无密码登录:名字即身份,公网可访问;内容为公开学习资料,请勿写入隐私数据。

License

MIT

About

한일 학습대 — 用韩语学日语的每日10分钟多模态学习台(日·韩·中三语对照,SRS复习)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages