Skip to content

KapiYue/cijing-app

Repository files navigation

CiJing · 词鲸背单词

CiJing app icon

Turn words found in real reading into a personal vocabulary library, graded AI stories, and a spaced-review routine.

简体中文 · Development · Architecture · Production · App Store checklist

iOS 17+ SwiftUI Supabase license MIT

Product tour

CiJing has four focused top-level areas. Home brings the daily plan, accumulated progress, persistent reading history, and real learning entry points together in one glance.

CiJing home with a completed plan, learning totals, saved readings, and study entry points

Four top-level areas

Home
Daily plan, persistent reading history, and practice entry points
Library
Learning states, strength, due dates, and contextual vocabulary
CiJing home screen CiJing word library
Lookup
Definitions, pronunciation, examples, and one-tap saving
Settings
Learning preferences, privacy controls, cache, and account
CiJing word lookup CiJing settings

The complete learning loop

The top-level navigation stays simple, while each reading opens a focused sequence: choose target words, read with optional translations, practise retrieval, shadow sentence by sentence, and review progress.

1 · Choose
Theme, style, level, and target words
2 · Read
Graded bilingual story with highlighted words
3 · Practise
Meaning, context, spelling, and recall
Choose reading settings and target words Read a bilingual AI story Complete reading-based practice
4 · Shadow
Listen, speak, and compare sentence by sentence
5 · Improve
Activity, vocabulary states, and weak words
One continuous loop
Every saved reading remains available after relaunch
Sentence shadowing practice Learning progress dashboard Save → Read → Practise → Revisit

What it does

  • Captures words and source context from a Chrome Manifest V3 extension.
  • Keeps a private, user-scoped word library with notes and learning states.
  • Generates coherent bilingual readings from weak, due, and new words.
  • Persists every generated reading to reading_sessions, so history survives relaunches and sign-ins.
  • Schedules review with strength, ease factor, interval, lapse, and due-date signals.
  • Provides system pronunciation, shadowing, and short reading-based exercises.
  • Protects all user data with Supabase Row Level Security.

Repository layout

.
├── client/      # SwiftUI iOS app
├── extension/   # Chrome extension for contextual lookup and saving
├── supabase/    # PostgreSQL migrations, RLS, RPCs, and Edge Functions
├── server/      # Trusted Flask boundary and health checks
├── scripts/     # Configuration, audit, and smoke-test utilities
├── docs/        # Development, architecture, production, and store assets
└── website/     # Privacy policy and support pages for public hosting

The iOS app and extension talk to Supabase Auth and PostgREST. Authenticated Edge Functions call the configured OpenRouter model for dictionary explanations and graded readings. Server-only and AI provider keys are never embedded in client bundles.

Quick start

Requirements: macOS, Xcode 16 or newer, Node.js 20+, Docker Desktop, and Chrome.

cp .env.example .env
# Fill the environment values in .env
make config

./scripts/supabase.sh start
./scripts/supabase.sh db reset
make functions

Open client/CiJing.xcodeproj, select the CiJing scheme and an iOS 17+ simulator, then run. Load extension/ as an unpacked extension from chrome://extensions.

Verification

make config-check
make extension-test
make server-test
make ios-build

With Supabase running, make smoke verifies the cross-client API flow. Production environments can use make production-audit and make production-smoke after deployment.

Contributing and security

Please read CONTRIBUTING.md and CODE_OF_CONDUCT.md before opening a contribution. Report vulnerabilities privately by following SECURITY.md, not through a public issue.

This project is available under the MIT License.

About

Turn words found in real reading into a personal vocabulary library, graded AI stories, and a spaced-review routine.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors