Skip to content

BlueCatMe/learning_jp

Repository files navigation

Meow! 日本語達陣 (Meow! Japanese Touchdown)

一個專為日檢 (JLPT) 考生設計的互動式自學門戶網站,系統化收錄 N1 至 N5 的核心文法、單字、動詞變化與漢字挑戰。

🎯 項目目標

本項目的目標是提供一個視覺精美、功能完整的互動式平台,幫助學習者:

  • 系統化學習:從 N5 入門到 N1 高級,涵蓋完整的 JLPT 文法與單字體系。
  • 專項突破:針對日語學習的兩大痛點——「動詞變化」與「漢字識別」設計專屬模組。
  • 高效背誦:透過多維度的智能練習卡與積分系統,確保深度掌握。
  • 進度追蹤:內置本地存儲與雲端同步,自動記錄學習進度與積分。

🚀 主要功能

  • 核心文法系統:每個級別收錄精選文法,配有詳細描述與實戰例句,支持 Ruby 標音顯示。
  • 單字庫:各級別單字包含漢字、假名、中文意義及例句,支持雙向(日譯中/中譯日)智能練習卡。
  • 動詞變化全攻略
    • 12 型自動變化引擎:內建 JS 運算邏輯,輸入動詞原形即可自動生成 詞書、ます、ない、て、た、命令、意志、假定、可能、受身、使役、使役受身 等完整變化。
    • 專業級資料表格:針對電腦端優化,支援 標題列固定 (Sticky Header)首兩欄固定 (Sticky Columns),即使在大寬度 12 欄表格中也能精確對照。
    • 分類直覺挑戰:專屬練習卡訓練快速分辨第一類 (五段)、第二類 (一段) 與第三類 (不規則) 動詞。
  • 漢字挑戰全攻略
    • 全量提取與自動分級:自動掃描 N1-N5 單字庫,提取所有漢字並按難度自動歸類。
    • 循序漸進解鎖機制:智慧演算法確保學習者先掌握 N5 基礎,隨著熟練度提升自動混合解鎖 N4 至 N1 漢字。
    • 純淨語境訓練:單字卡正面提供「純日文例句」,自動移除讀音標註 (Furigana) 與中文翻譯,強迫練習者透過上下文與漢字外型判斷正確讀音。
  • 智能積分系統
    • 動態熟練度算法:採用「答對加分 (+5)、答錯折半 (/2)」的權重邏輯,確保真正掌握後(積分滿 10 分)才會標記為「已掌握」。
    • 多維度追蹤:分別記錄日譯中、中譯日、動詞分類及漢字挑戰的各項積分。
  • 雲端進度同步:整合 Google Drive API,一鍵同步掌握名單、練習積分與顯示偏好,具備 3 秒防抖 (Debounce) 機制。

📂 架構說明

為了提升維護效率與效能,本項目採用了 資料 (Data) <-> 邏輯 (Logic) <-> 視圖 (View) 分離的現代化架構:

1. 資料層 (assets/data/)

  • n[1-5]_grammar.js & n[1-5]_vocab.js:存放各級別的原始文法與單字陣列。
  • verbs.js & kanji.js:集中管理動詞與漢字挑戰的原始數據。

2. 邏輯層 (assets/js/)

  • level-logic.js:N1-N5 共用的核心邏輯,負責列表渲染、搜尋與練習卡引擎。
  • verbs-logic.js:專屬的動詞變化運算引擎與表格固定渲染邏輯。
  • kanji-logic.js:負責漢字分級解鎖演算法、Ruby 標籤自動過濾及積分管理。
  • sync-service.js:負責與 Google Drive 的背景非同步通訊與衝突解決。

3. 視圖層

  • index.html:入口門戶。
  • jp_n[1-5].html:級別專屬頁面。
  • jp_verbs.html & jp_kanji.html:專項挑戰頁面。

☁️ 雲端同步技術細節

  • 智慧同步:具備 3 秒防抖 (Debounce) 機制,減少 API 負載。
  • 衝突管理:採用「最新更動優先 (Last-Write-Wins)」策略,比對本地與雲端時間戳記。
  • 自動復原:重新登入或更換裝置時,一鍵回復所有級別的掌握進度與挑戰積分。

⚖️ 免責聲明與著作權說明

本網站所使用的教材內容均蒐羅自網路公開資源,主要作為個人學習進度檢核與單字卡練習之用。本項目完全不具備任何商業營利意圖

若有任何內容涉及版權侵權疑慮,請不吝告知,我們將會立即處理。


「日本語達陣,就從 Meow! 開始您的專業進階之路。」

About

A web site for Japanese Language learning

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages