Seed: questions for the 499 lessons that had none; every lesson now has questions (5,406/5,406)
998 four-choice questions (2 per lesson), written from each lesson's own text, worked example and the book's extracted problem. Mostly grades 3, 6, 7 (books imported before us), plus 4, 5 and a few in 8-12. Hands-on lessons (drawing, measuring, folding) got text questions that test the same idea. Checked: structure (4 distinct choices, no LaTeX), a blind re-solve of all 998 against the key (no mismatch), and content.tests_seed_content seeding the full file. Not checked: an independent second solver. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -300,7 +300,7 @@ has been done before.
|
||||
### Content
|
||||
|
||||
- `content/seed/` is the whole curriculum and question bank as committed JSON: 10 grades (3–12), 5 subjects,
|
||||
89 units, 1,145 islands, 5,406 lessons, 18,522 questions. `deploy.sh` runs `seed_content` on every release.
|
||||
89 units, 1,145 islands, 5,406 lessons (every one has at least one question), 19,819 questions. `deploy.sh` runs `seed_content` on every release.
|
||||
- `seed_content` is idempotent, never deletes, and does not undo admin work: the `SeedRecord` ledger remembers
|
||||
what it delivered, so anything the admin deleted or renamed is not recreated; lesson text, `example`,
|
||||
`steps` and `figures` are only filled when empty. Questions bind to lessons **by title path**
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
| **سرویسِ زنده** | `https://mathapi.tadrisino2.ir` · اپ: `https://math.tadrisino2.ir` |
|
||||
| **فناوری** | Python 3.11 · Django 5.2 · Django REST Framework · PostgreSQL 14 · Redis · Qdrant · gunicorn پشتِ nginx و ArvanCloud |
|
||||
| **API** | ۶۱ عملیات روی ۵۹ مسیر، مستند با OpenAPI (`/api/docs/`) |
|
||||
| **محتوا** | ۱۰ پایه · ۵ کتاب · ۸۹ فصل · ۱٬۱۴۵ جزیره · ۵٬۴۰۶ درس · ۱۸٬۵۲۲ سوال |
|
||||
| **محتوا** | ۱۰ پایه · ۵ کتاب · ۸۹ فصل · ۱٬۱۴۵ جزیره · ۵٬۴۰۶ درس · ۱۹٬۸۱۹ سوال |
|
||||
| **تست** | ۹۷۳ تستِ خودکار، همه سبز |
|
||||
| **سرویسهای بیرونی** | GapGPT (مدلِ زبانی) · Qdrant (جستجوی کتاب) · کاوهنگار (پیامک) · زرینپال و کافهبازار (پرداخت) |
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -11,7 +11,7 @@
|
||||
| فایل | محتوا |
|
||||
|---|---|
|
||||
| `curriculum.json` | ۱۰ پایه (سوم تا دوازدهم)، ۵ کتاب، ۸۹ فصل، ۱٬۱۴۵ جزیره، ۵٬۴۰۶ درس؛ با `subject`، متنِ درس، مثال، قدمها و شکلِ درس (`figures`) |
|
||||
| `questions.json` | ۱۸٬۵۲۲ سوالِ چهارگزینهای، بعضی با شکل (`figure`) |
|
||||
| `questions.json` | ۱۹٬۸۱۹ سوالِ چهارگزینهای، بعضی با شکل (`figure`) |
|
||||
|
||||
هر فصل باید `subject` داشته باشد (ریاضی، حسابان، هندسه، آمار و احتمال، گسسته)؛ فایلِ بیآن رد میشود. شکلها
|
||||
(`Lesson.figures`، `Question.figure`) با `rag.services.diagram.validate` در ورود اعتبارسنجی میشوند و شکلِ نامعتبر کلِ
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|---|---|
|
||||
| پایههای سوم تا دوازدهم | **۱۰ پایه** |
|
||||
| کتاب (ریاضی، حسابان، هندسه، آمار و احتمال، گسسته) | **۱۵ کتاب در ۵ درس** |
|
||||
| سؤالِ چهارگزینهای | **۱۸٬۵۲۲** |
|
||||
| سؤالِ چهارگزینهای | **۱۹٬۸۱۹** |
|
||||
| عملیاتِ API، مستند در Swagger | **۶۱** |
|
||||
| تستِ خودکار، همه سبز | **۹۷۳** |
|
||||
| اپِ جنگو، هرکدام یک مسئولیت | **۱۴** |
|
||||
@@ -55,7 +55,7 @@
|
||||
|
||||
### واحدهای محتوا (این واژهها در کلِ سند تکرار میشوند)
|
||||
|
||||
پایه Grade ۱۰ ← کتاب Subject ۵ ← فصل Unit ۸۹ ← جزیره Node ۱٬۱۴۵ ← درس Lesson ۵٬۴۰۶ ← سؤال Question ۱۸٬۵۲۲ ← گزینه Choice
|
||||
پایه Grade ۱۰ ← کتاب Subject ۵ ← فصل Unit ۸۹ ← جزیره Node ۱٬۱۴۵ ← درس Lesson ۵٬۴۰۶ ← سؤال Question ۱۹٬۸۱۹ ← گزینه Choice
|
||||
|
||||
**«درس» در این پروژه یعنی یک «تیپمسئله»ی کتاب**، نه یک جلسهی کلاس. برای همین درس خیلی ریز است و اپ در سطحِ **جزیره** (Node) بازی میشود: آزمونِ هر جزیره از درسهایش سؤال برمیدارد.
|
||||
|
||||
@@ -732,7 +732,7 @@ if (Math.sign(y) !== Math.sign(py)) { const r = bisect(f, px, x); if (Math.abs(f
|
||||
| فایل | محتوا |
|
||||
|---|---|
|
||||
| `content/seed/curriculum.json` | ۱۰ پایه، ۵ کتاب، ۸۹ فصل، ۱٬۱۴۵ جزیره، ۵٬۴۰۶ درس، با مثال، قدمها و شکلِ درس |
|
||||
| `content/seed/questions.json` | ۱۸٬۵۲۲ سؤالِ چهارگزینهای، بعضی با شکل |
|
||||
| `content/seed/questions.json` | ۱۹٬۸۱۹ سؤالِ چهارگزینهای، بعضی با شکل |
|
||||
|
||||
- `seed_content` در هر انتشار اجرا میشود؛ **هیچوقت چیزی پاک نمیکند** و اجرای دوبارهاش بیخطر است.
|
||||
- سؤال با **مسیرِ عنوان** (پایه › فصل › جزیره › درس) به درس وصل میشود، نه با شناسه — چون شناسهها بینِ دو دیتابیس فرق دارند.
|
||||
|
||||
Reference in New Issue
Block a user