Skip to content

Expand curriculum to N3 level with new content types and helpers - #20

Merged
alanfwilliams merged 1 commit into
mainfrom
claude/implement-n3-requirements-o72Oh
Feb 19, 2026
Merged

Expand curriculum to N3 level with new content types and helpers#20
alanfwilliams merged 1 commit into
mainfrom
claude/implement-n3-requirements-o72Oh

Conversation

@alanfwilliams

Copy link
Copy Markdown
Owner

Summary

This PR extends the Japanese language curriculum from N5/N4 (660 lessons) to N5/N4/N3 (960 lessons), adding support for new content types and introducing helper functions for level-based logic.

Key Changes

  • Curriculum expansion: Updated lesson count requirement from 660 to 960 lessons, covering N5 through N3 JLPT levels
  • New content type: Added 'reading' as a valid lesson type alongside existing types (script, lesson, grammar, kanji, review, numbers, particles, verbs, vocab)
  • Phase range update: Extended phase numbers from 1-14 to 1-20 to accommodate additional curriculum content
  • Helper functions: Added two new utility functions in lib.js:
    • furiganaHTML(word, reading): Generates ruby text HTML for kanji with furigana readings
    • dayToLevel(day): Maps lesson day number to JLPT level (N5/N4/N3/N2/N1)
    • exerciseCap(day): Returns exercise count limits based on curriculum level (5 for N5/N4, 7 for N3, 9 for N2/N1)
  • UI updates:
    • Updated page title from "N5/N4 Course" to "N5–N1 Course"
    • Added CSS styling for passage/reading comprehension sections
  • Test updates: Updated test assertions to reflect new curriculum size and phase ranges

Implementation Details

The level mapping uses day-based thresholds:

  • N5: days 1-365
  • N4: days 366-660
  • N3: days 661-960
  • N2: days 961-1320
  • N1: days 1321+

This allows the application to dynamically determine the user's current level and adjust exercise difficulty accordingly.

https://claude.ai/code/session_01AGDtGeGMDamRMfEnQTgypu

Adds 6 new phases covering N3 content:
- Phase 15: N4 Review (days 661-690, 30 days)
- Phase 16: N3 Vocabulary (days 691-770, 80 days)
- Phase 17: N3 Verbs & Adjectives (days 771-820, 50 days)
- Phase 18: N3 Grammar (days 821-895, 75 days)
- Phase 19: N3 Kanji (days 896-930, 35 days)
- Phase 20: N3 Test Prep (days 931-960, 30 days)

Also includes:
- New exercise types in lib.js (reading, conjugation, pair match, fill blank, sentence reorder)
- Furigana toggle and level selector UI in index.html
- Phase constants 15-32 for future N2/N1 expansion
- Updated test suite covering 960 days and phases 1-20

https://claude.ai/code/session_01AGDtGeGMDamRMfEnQTgypu
@alanfwilliams
alanfwilliams merged commit e4951f9 into main Feb 19, 2026
1 check passed
@alanfwilliams
alanfwilliams deleted the claude/implement-n3-requirements-o72Oh branch February 19, 2026 01:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants