How wuwangzhang1216/chinatextbookstudyfree works
ChinaStudyFree is a free, multi-subject elementary-learning product delivered as a web app and a native iOS app. Learners choose a grade/book, follow unit lessons or reading material, answer questions, and receive progress, review, and rewards. The README documents shared domain logic, TTS, offline iOS data, stories, cosmetics, and retention features. Source excerpts chiefly show iOS progress persistence and lesson/review behavior; several feature links below are documented capabilities rather than inspected call sites.
Main entry points: ProgressStore.swift Progress store · economy.ts Shared domain rules · LessonRunnerView.swift Lesson runner · ChinaTextbookStudyApp.swift iOS app shell
Components 22
Learning clients
- Web home
apps/web/src/app/HomeClient.tsx - iOS app shell
apps/mobile/ChinaTextbookStudy/App/ChinaTextbookStudyApp.swift - Lesson runner
apps/mobile/ChinaTextbookStudy/Features/Lesson/LessonRunnerView.swift - Web lesson
apps/web/src/app/lesson/[book]/[lesson]/LessonPageClient.tsx - Mistake review
apps/mobile/ChinaTextbookStudy/Features/Review/MistakeReviewRunnerView.swift - Web review
apps/web/src/app/review/ReviewClient.tsx - Passage reader
apps/mobile/ChinaTextbookStudy/Features/Reading/PassageReaderView.swift - Web reading
apps/web/src/app/reading/[book]/[passage]/page.tsx - Knowledge guide
apps/mobile/ChinaTextbookStudy/Features/Guide/UnitGuideView.swift - Placement test
apps/mobile/ChinaTextbookStudy/Features/Jump/JumpTestView.swift - League
apps/mobile/ChinaTextbookStudy/Features/League/LeagueView.swift - Cosmetics shop
apps/mobile/ChinaTextbookStudy/Features/Shop/ShopView.swift - Panda mascot
apps/mobile/ChinaTextbookStudy/Components/MascotView.swift
Learning content
- Book and quiz data
apps/mobile/ChinaTextbookStudy/Services/DataLoader.swift
Progress and rewards
- Shared domain rules
packages/core/src/economy.ts - Progress store
apps/mobile/ChinaTextbookStudy/Stores/ProgressStore.swift - Backup and restore
apps/mobile/ChinaTextbookStudy/Domain/Backup.swift
Platform services
- Audio and TTS
apps/mobile/ChinaTextbookStudy/Services/AudioPlayer.swift - Local persistence
apps/mobile/ChinaTextbookStudy/Services/PersistenceService.swift - Streak reminders
apps/mobile/ChinaTextbookStudy/Services/NotificationService.swift
Other components
- Learner
- Release assets
Connections 26
- Learner → Web home: opens learning
README.md - Learner → iOS app shell: opens learning
README.md - Web home → Web lesson: starts unit quiz
README.md - Web home → Web reading: opens reading
README.md - iOS app shell → Lesson runner: routes to lesson
- iOS app shell → Passage reader: routes to reading
- Lesson runner → Book and quiz data: loads lesson
apps/mobile/ChinaTextbookStudy/Features/Lesson/LessonRunnerView.swift - Web lesson → Shared domain rules: uses domain rules
README.md - Lesson runner → Progress store: records results
apps/mobile/ChinaTextbookStudy/Features/Lesson/LessonRunnerView.swift - Lesson runner → Audio and TTS: plays prompts
apps/mobile/ChinaTextbookStudy/Features/Lesson/LessonRunnerView.swift - Lesson runner → Panda mascot: shows feedback
apps/mobile/ChinaTextbookStudy/Features/Lesson/LessonRunnerView.swift - Mistake review → Progress store: awards review XP
apps/mobile/ChinaTextbookStudy/Features/Review/MistakeReviewRunnerView.swift - Mistake review → Lesson runner: reuses lesson flow
apps/mobile/ChinaTextbookStudy/Features/Review/MistakeReviewRunnerView.swift - Web review → Shared domain rules: uses review rules
README.md - Passage reader → Progress store: records reading
- Web reading → Shared domain rules: uses reading rules
- Knowledge guide → Book and quiz data: shows explanations
README.md - Placement test → Shared domain rules: checks placement
- League → Shared domain rules: settles league
- Cosmetics shop → Shared domain rules: uses cosmetics rules
- Progress store → Local persistence: saves snapshots
apps/mobile/ChinaTextbookStudy/Stores/ProgressStore.swift - Progress store → Shared domain rules: applies reward rules
apps/mobile/ChinaTextbookStudy/Stores/ProgressStore.swift - Progress store → Streak reminders: schedules reminders
apps/mobile/ChinaTextbookStudy/Stores/ProgressStore.swift - Progress store → Backup and restore: imports progress
apps/mobile/ChinaTextbookStudy/Stores/ProgressStore.swift - Book and quiz data → Release assets: loads book assets
- Release assets → iOS app shell: downloads by book
README.md