KidApp DocumentationKidApp Documentation
Bosh sahifa
API Qo'llanma
Qo'llanma
GitHub
Bosh sahifa
API Qo'llanma
Qo'llanma
GitHub
  • API Dokumentatsiya

    • API Ko'rinishi
    • Auth API (Autentifikatsiya)
    • Profile API (Profil boshqaruvi)
    • Child API (Bolalar boshqaruvi)
    • Growth Monitoring API (O'sish monitoringi)
    • Assessment Monitoring (Baholash va Monitoring)
    • Daily Activities (Kunlik Mashg'ulotlar)
    • Health API
    • Vaccination API
    • Vitamin API
    • Reminder API
    • Chat API
    • Enumlar (Global qiymatlar)

Assessment Monitoring (Baholash va Monitoring)

Ushbu bo'limda bolaning rivojlanish darajasini (milestone-lar bo'yicha) aniqlash va AI tahlillarini olish jarayoni tushuntiriladi.

Frontendda Baholash Ketma-ketligi

  1. Dashboardni Yuklash: Bolaning umumiy holati va rivojlanish kategoriyalarini olish.
  2. Kategoriyani Tanlash: Foydalanuvchi biror kategoriyani (masalan: Nutq) tanlaydi.
  3. Savollarni Olish: Tanlangan kategoriya va bolaning yoshiga mos savollarni yuklash.
  4. Testni Topshirish: Javoblarni yuborish va AI tahlilini qabul qilish.

1. Monitoring Dashboard

Bolaning joriy rivojlanish holati va barcha kategoriyalar bo'yicha foizlarni olish.

  • URL: /client/assessments/dashboard
  • Metod: GET
  • Headers: Authorization: Bearer {access_token}

Response

{
  "child": { "name": "Ali", "ageInMonths": 24 },
  "overallScore": 75,
  "lastAssessmentDate": "2024-03-20T10:00:00Z",
  "categories": [
    {
      "id": "uuid-category-1",
      "slug": "speech",
      "title": "Nutq rivojlanishi",
      "icon": "headset",
      "percentage": 85,
      "status": "good"
    },
    {
      "id": "uuid-category-2",
      "slug": "motor",
      "title": "Harakat (Motorika)",
      "icon": "directions_run",
      "percentage": 0,
      "status": null
    }
  ],
  "historyChart": [
    {
      "month": "Yan",
      "categories": [{ "categoryId": "...", "label": "Nutq", "score": 80 }]
    }
  ]
}

[!TIP] Dashboard logikasi: Agar kategoriyada percentage 0 bo'lsa, demak bu kategoriya bo'yicha hali test topshirilmagan. historyChart ma'lumotlari yordamida frontendda dinamika grafigini chizish mumkin.


2. Savollarni olish

Tanlangan kategoriya bo'yicha bolaning yoshiga moslashtirilgan savollarni yuklash.

  • URL: /client/assessments/questions/{categoryId}
  • Metod: GET

Response

[
  {
    "id": "uuid-question-1",
    "questionText": "Farzandingiz 2-3 so'zli gaplarni ayta oladimi?",
    "options": [
      { "label": "Ha", "score": 2 },
      { "label": "Ba'zan", "score": 1 },
      { "label": "Yo'q", "score": 0 }
    ]
  }
]

3. Test natijasini topshirish

Foydalanuvchi tanlagan javoblarni (ballarni) yuborish.

  • URL: /client/assessments/submit
  • Metod: POST

Request Body

{
  "categoryId": "uuid-category-1",
  "answers": [
    { "questionId": "uuid-question-1", "score": 2 },
    { "questionId": "uuid-question-2", "score": 1 }
  ]
}

Response

{
  "id": "uuid-assessment-result",
  "scorePercentage": 85,
  "status": "good",
  "aiInsights": "Farzandingizning nutq ko'nikmalari yoshiga mos ravishda rivojlanmoqda...",
  "recommendations": [
    "Ko'proq rangli kitoblar o'qib bering",
    "Yangi so'zlarni o'yin orqali o'rgating"
  ]
}

[!IMPORTANT] Natija statuslari: status maydoni AssessmentStatus Enum qiymatlaridan birini qabul qiladi. aiInsights bu AI tomonidan berilgan umumiy tahlil, recommendations esa amaliy tavsiyalar ro'yxatidir.

4. Baholash Natijalari (Interfeyslar)

Baholash yakunlangandan keyin qaytadigan ma'lumotlarni render qilish uchun interfeyslar:

Interfeys:

export interface AssessmentResult {
  id: string;
  scorePercentage: number;   // 0-100 oralig'ida
  status: 'good' | 'average' | 'poor';
  aiInsights: string;        // AI tomonidan berilgan tahliliy matn
  recommendations: string[]; // Amaliy tavsiyalar ro'yxati
  answers: DetailedAnswer[]; // Foydalanuvchi bergan javoblar tahlili
}

export interface DetailedAnswer {
  questionId: string;
  questionText: string;
  score: number;
  label: string; // "Ha", "Ba'zan", "Yo'q" matni
}

#### JSON Sample:
```json
{
  "id": "uuid-result",
  "scorePercentage": 85,
  "status": "good",
  "aiInsights": "...",
  "recommendations": ["..."],
  "answers": [
    {
      "questionId": "uuid-q1",
      "questionText": "Farzandingiz...",
      "score": 2,
      "label": "Ha"
    }
  ]
}

Frontend uchun tavsiya:

  • scorePercentage: Uni "Progress bar" yoki "Radial chart" ko'rinishida ko'rsatish maqsadga muvofiq.
  • aiInsights: Ushbu matnni "Ekspert xulosasi" rukni ostida ko'rsating.
  • recommendations: Har bir tavsiyani ro'yxat ko'rinishida chiqaring. Foydalanuvchi ushbu tavsiyalar asosida Daily Activities bo'limiga o'tishi tavsiya etiladi.

5. Testlar tarixi

Bolaning barcha topshirgan testlari ro'yxatini ko'rish (ixtiyoriy).

  • URL: /client/assessments/history
  • Metod: GET
  • Query Params: categoryId (filter uchun, ixtiyoriy)
Ushbu sahifani tahrirlash
Oxirgi yangilanish: 27/03/26, 00:22
Mualliflar: Islom1999
Prev
Growth Monitoring API (O'sish monitoringi)
Next
Daily Activities (Kunlik Mashg'ulotlar)