Backend CI / type-check, build, tests (push) Successful in 1m16s
Server grades levels 7-13 and keeps castle attempt results separate from stored progress. Co-authored-by: Cursor <cursoragent@cursor.com>
58 lines
3.3 KiB
Markdown
58 lines
3.3 KiB
Markdown
# وضعیت مسیر آموزشی ۱۳ مرحله
|
|
|
|
تاریخ بررسی: ۲۰۲۶-۱۰-۲۲. این سند وضعیت محلی commitنشده است. موفقیت CI قبلی با SHA قدیمی backend این تغییرات را تأیید نمیکند.
|
|
|
|
## وضعیت مراحل
|
|
|
|
هر ۱۳ مرحله در هر دو فهرست `gold-land/levels` و `progression/levels` فعال است. مرحله ۱۴ وجود ندارد.
|
|
|
|
| مرحله | عنوان | نوع | کلید |
|
|
| ---: | --- | --- | --- |
|
|
| ۱ | پول چیه؟ | lesson | what-is-money |
|
|
| ۲ | پسانداز | lesson | saving |
|
|
| ۳ | نیاز و خواسته | lesson | needs-and-wants |
|
|
| ۴ | طلا چیه؟ | lesson | what-is-gold |
|
|
| ۵ | بازار طلا | lesson | gold-market |
|
|
| ۶ | تورم | lesson | inflation |
|
|
| ۷ | بودجهبندی | game | budgeting |
|
|
| ۸ | ریسک و بازده | challenge | risk-return |
|
|
| ۹ | سبد سرمایهگذاری | game | portfolio |
|
|
| ۱۰ | سود مرکب | lesson | compound-interest |
|
|
| ۱۱ | خرید هوشمند | game | smart-shop |
|
|
| ۱۲ | هدف مالی | challenge | financial-goal |
|
|
| ۱۳ | آزمون قلعه | final_exam | castle-exam |
|
|
|
|
کارت «چالش آموزشی» خانه و مسیر `/challenge` چالش روزانه کاتالوگ است و آزمون نقشه نیست.
|
|
|
|
## اجرای بررسی
|
|
|
|
Node مورد انتظار در تنظیمات `22.18.0` است. اگر همان نسخه نصب نباشد، نسخه واقعی را گزارش کن و `.nvmrc`، engines و CI را عوض نکن.
|
|
|
|
```text
|
|
cd backend-nest
|
|
npm run type-check
|
|
npm run build
|
|
npm test
|
|
|
|
cd frontend
|
|
npm test
|
|
npm run type-check
|
|
npm run build
|
|
$env:PLAYWRIGHT_CHROME_CHANNEL='chrome'
|
|
npx playwright test -c e2e/playwright.config.ts
|
|
```
|
|
|
|
`npm test` در backend شامل suiteهای مراحل ۷ تا ۱۳ است. `frontend/test/run-all-tests.mjs` هم همانها را دارد. Playwright همه فایلهای `e2e/*.spec.ts` را، از جمله `full-path.spec.ts`، اجرا میکند. journey کامل فقط روی پروژه desktop است تا زمان کنترل شود. تستهای موبایل و دسکتاپ اختصاصی مراحل جدا ماندهاند.
|
|
|
|
تستها باید با دیتابیس و حساب موقت باشند.
|
|
|
|
## نتیجه تلاش و بهترین پیشرفت
|
|
|
|
امتیاز پاسخ complete، نتیجه همان تلاش است. ستاره ذخیرهشده، بهترین امتیاز و `completed_at` فقط وقتی تلاش به ستاره برسد بهروز میشوند.
|
|
|
|
تلاش زیر ۶۰ در مراحل ۱ تا ۱۲ رد میشود. در آزمون قلعه همان شکل پاسخ برمیگردد، ولی completion و پاداش ثبت نمیشود. اگر قبلاً قبول شده باشد، تلاش ناموفق بعدی ستاره، بهترین امتیاز و تاریخ تکمیل قبلی را نگه میدارد و پاداش صفر است. پیام «آفرین» فقط وقتی نتیجه همین تلاش معتبر است نشان داده میشود، نه بهخاطر ستاره قبلی.
|
|
|
|
## کارهای باز
|
|
|
|
Docker آزمایشی، انتشار، چالش روزانه واقعی، ارزیابی بازی عمومی، و Friends هنوز انجام نشدهاند. `pinnedRef` در قرارداد E2E هنوز SHA قدیمی backend است.
|