1-Amaliy mashg'ulot Mavzu: “Dasturiy ta’minot arxitekturasi” fanidan amaliy ishlarning borishi haqida kirish va dastlabki ma’lumotlar. MOODLE tizimining arxitekturasi bilan tanishish. Kerakli jihozlar: Kompyuter va Internet tarmog'i. 1.Maqsadni aniqlash 1.1 Loyihaning asosiy maqsadi Mazkur loyiha o‘quv markazining jarayonlarini tizimlashtirish va boshqarishni avtomatlashtirish uchun web-sayt yaratishni ko‘zda tutadi. Web-sayt orqali o‘quv markazning barcha ishtirokchilari (student, teacher, qabulxona, admin va ota-ona) uchun alohida interaktiv interfeys taqdim etiladi. Sayt o‘quv markaz faoliyatini yanada samaraliroq qilish va ma’lumotlarni kuzatib borishni osonlashtirishni ta'minlaydi. 1.2 Loyihaning asosiy vazifalari Login tizimi: Saytga kirish faqat ro'yxatdan o'tgan foydalanuvchilar uchun bo‘ladi. Login orqali foydalanuvchilar quyidagi kategoriyalardan biriga ajratiladi: Student (o‘quvchi) Teacher (o‘qituvchi) Qabulxona xodimi Admin (tizim boshqaruvchisi) Ota-ona Har bir kategoriya uchun alohida UI (interfeys) yaratiladi. O‘quv markazning moliyaviy tahlili: Oylik va yillik daromadni kuzatish: O‘quv markazning moliyaviy holatini ko‘rsatadigan diagrammalarni taqdim etish. To‘lovlar bo‘yicha avtomatik hisobotlar (kategoriyalar va davrlarga bo‘lingan holda). O‘quvchilar bo‘yicha kuzatuv: Darsga qatnashuv: O‘quvchilarning darsga kelgan yoki kelmagan holatlari qayd qilinadi va tizimda aks etadi. Ota-onalar uchun monitoring: Ota-onalar farzandlarining o‘quv markazdagi faoliyatini diagrammalar orqali kuzatib borishi mumkin bo‘ladi. O‘quvchi haqida o‘qituvchi tomonidan muntazam ravishda fikrmulohazalar (feedback) beriladi, bu orqali ota-onalar farzandining rivojlanishidan xabardor bo‘lib boradi. O‘qituvchilarning hisobotlari: Har bir o‘quvchi uchun individual feedback yozish imkoniyati. Har bir guruh yoki dars bo‘yicha hisobotlarni yaratish. Qabulxona faoliyati avtomatlashuvi: Ro‘yxatdan o‘tgan o‘quvchilar va to‘lovlar haqidagi ma’lumotlarni avtomatik qayd qilish. Yangi o‘quvchilarni tizimga kiritish. 1.3 Foydalanuvchilar uchun asosiy interfeys imkoniyatlari Student: Shaxsiy kabinet (profil ma’lumotlari, dars jadvali, qatnashuv holati). Fikr-mulohazalarni ko‘rish (feedback). Teacher: Dars davomida o‘quvchilar qatnashuvini belgilash. Har bir o‘quvchi uchun feedback yozish. Guruhlar va darslar bo‘yicha hisobot yaratish. Ota-ona: Diagramma va grafikalar orqali farzandining rivojlanishini kuzatish. O‘quv markazdan kelgan feedbacklarni ko‘rish. Qabulxona: O‘quvchilarni ro‘yxatga olish va to‘lovlarni boshqarish. Hisobotlarni ko‘rish va chop etish. Admin: Barcha foydalanuvchilarni boshqarish. Statistik hisobotlarni ko‘rish (daromad, o‘quvchilar soni, guruhlar bo‘yicha). 1.4 Maqsadga erishish uchun natijalar O‘quv markaz faoliyatini samarali boshqarish. Moliyaviy holatni kuzatish va nazorat qilishning osonlashuvi. Har bir foydalanuvchi uchun shaxsiy interfeys orqali interaktiv foydalanish imkoniyati. Ota-onalar va o‘qituvchilar o‘rtasidagi aloqani mustahkamlash. O‘quvchilarning darslarga qatnashuvi va rivojlanishini real vaqt rejimida kuzatish. 1. Foydalanuvchi auditoriyasini aniqlash 2.1 Auditoriya turlari Mazkur web-sayt faqat o‘quv markaz bilan bog‘liq foydalanuvchilar uchun mo‘ljallangan. Foydalanuvchilar quyidagi guruhlarga bo‘linadi: O‘quvchilar: Ushbu markazda tahsil olayotgan talabalar. Sayt orqali shaxsiy profil, dars jadvali, qatnashuv holati va o‘qituvchilardan olingan feedback ma’lumotlarini kuzatib borishadi. Hodimlar (o‘qituvchilar va qabulxona xodimlari): O‘qituvchilar o‘quvchilar haqida feedback kiritish, dars davomida qatnashuvni belgilash va guruhlar bo‘yicha hisobotlar tayyorlash imkoniyatiga ega bo‘lishadi. Qabulxona xodimlari esa ro‘yxatdan o‘tgan foydalanuvchilarni boshqarish, to‘lov ma’lumotlarini kiritish va hisobotlarni yaratishadi. Ota-onalar: Sayt orqali farzandlarining rivojlanishini diagrammalar va feedbacklar orqali kuzatishadi. Darslarga qatnashuv va umumiy faoliyat haqida ma’lumot olishadi. Administrator: Foydalanuvchilarni boshqarish, statistik hisobotlarni ko‘rish va tizimni umumiy nazorat qilish uchun javobgar shaxs. 2.2 Qurilmalar orqali foydalanish Web-sayt barcha asosiy qurilmalardan qulay foydalanish imkonini ta’minlaydi: Kompyuter: Tizimga keng ko‘lamda ishlov berish va ma’lumotlarni kiritish uchun mo‘ljallangan. Asosan qabulxona va administratorlar foydalanadi. Telefon: Foydalanuvchilar (student, teacher va ota-onalar) uchun asosiy interfeys. Mobil moslashuvchanlik orqali dars jadvali, qatnashuv, va hisobotlarni real vaqtda ko‘rish imkoniyati yaratiladi. Planshet: Hodimlar uchun katta ko‘rinishda qulay ishlash imkoniyati. Diagrammalarni ko‘rish va ma’lumotlarni tahrirlash uchun moslashadi. 2.3 Foydalanuvchilarning ehtiyojlari va maqsadlari O‘quvchilar: Shaxsiy dars jadvalini, qatnashuv holatini va o‘qituvchilar feedbacklarini kuzatib borish. Ota-onalar: Farzandlari darsga qatnashish va rivojlanishini real vaqt rejimida kuzatish. Hodimlar: Foydalanuvchilar haqida tahliliy hisobotlar tayyorlash va tizimga doimiy ma’lumotlar kiritish. Administrator: Tizimni umumiy nazorat qilish va boshqarish. 2. Funksional talablar Mazkur bo‘limda barcha foydalanuvchilar uchun talab etiladigan funksionalliklar va har bir foydalanuvchi turiga xos imkoniyatlar batafsil bayon etiladi. Umumiy funksionallik Shaxsiy kabinetHar bir foydalanuvchi tizimga kirgach, quyidagi amallarni bajarishi mumkin: Profil ma’lumotlarini ko‘rish va tahrirlash: ism, familiya, tug‘ilgan sana, yashash manzili, qiziqishlar. Profilga shaxsiy rasm (avatar) yuklash va o‘zgartirish. Tizimga kirish uchun dastlab berilgan login va parolni o‘zgartirish. 1. O‘qituvchi (Teacher) uchun funksionallik Darslar jadvali va boshqaruvi Jadvalni ko‘rish: O‘qituvchi o‘ziga biriktirilgan darslarni haftalik yoki oylik jadval ko‘rinishida ko‘rishi mumkin. Darslar bo‘yicha ma’lumot kiritish: Har bir dars uchun mavzu, ishtirokchilar ro‘yxati, va uy vazifalarni kiritish imkoniyati. Uy vazifalarini to‘ldirish bo‘limi mavjud. Filtrlash: Jadval bo‘yicha haftalik yoki oylik saralash. Har bir guruh bo‘yicha o‘quvchilarni saralash: ism, faol yoki passiv (alochi, o‘rtacha, passiv) bo‘yicha. O‘quvchilar ro‘yxati va ishtiroki Har bir guruhdagi o‘quvchilar ro‘yxatini ko‘rish. Davomatni belgilash: Har bir darsda qatnashgan yoki qatnashmagan o‘quvchilarni belgilash. Feedback yozish: Har bir o‘quvchi uchun individual sharh va tavsiyalar kiritish. Imtihonlar (Exam) Imtihon savollarini kiritish bo‘limi (har bir imtihon uchun 3 ta variant va javoblar). Imtihon natijalarini kuzatish va o‘quvchilarning ko‘rsatkichlarini ko‘rsatish. 2. Qabulxona (Reception) uchun funksionallik Yangi foydalanuvchi qo‘shish Foydalanuvchilarni ro‘yxatdan o‘tkazish: Foydalanuvchi turini tanlash (ota-ona, o‘qituvchi, o‘quvchi). Har bir foydalanuvchi uchun vaqtinchalik login va parol yaratish. Davomatni kuzatish va boshqarish Dars davomida o‘qituvchi tomonidan belgilanadigan davomat natijalarini ko‘rish: Jami o‘quvchi soni, qatnashgan va qatnashmaganlar ro‘yxati. Davomatni kechiktirgan o‘quvchilar sababini kiritishi uchun maxsus bo‘lim. To‘lovlar bo‘limi Har bir o‘quvchi uchun kurs to‘lovi ma’lumotlarini kuzatish: jami to‘lanishi kerak bo‘lgan summa, qoldiq va to‘langan summa. To‘lovlarni boshqarish va yangi to‘lovlarni tizimga kiritish. 3. O‘quvchi (Student) uchun funksionallik Darslarim bo‘limi Dars ro‘yxati: O‘quvchi nechta kursga qatnashayotgan bo‘lsa, ularning ro‘yxati ko‘rsatiladi. Har bir darsga kirganda: O‘tgan mavzularni ko‘rish. Kelgusi mavzular (faqat keyingi mavzu ko‘rinadi). Imtihonlar (Exam) O‘quvchi uchun mavjud imtihonlarni ko‘rish va javoblarini kiritish imkoniyati. 4. Administrator (Admin) uchun funksionallik Dashboard Umumiy statistik ma’lumotlarni ko‘rsatish: Oylik va yillik daromad (filter orqali saralash). O‘quvchilarning o‘sish dinamikasi (oylik va yillik). Har bir o‘qituvchining dars o‘tish faoliyati va o‘quvchilarning fikrmulohazalarini kuzatish. Foydalanuvchilarni boshqarish Foydalanuvchi turiga qarab boshqaruv: o‘quvchilar, o‘qituvchilar, otaonalar va xodimlarni tizimdan qo‘shish yoki olib tashlash. 3. Dizayn talablari Umumiy dizayn Minimalistik uslubga amal qilinadi: ortiqcha bezaklardan foydalanilmaydi. Maksimum 4 ta rang ishlatiladi. Ranglar: neytral va minimalist, masalan: Oq (#FFFFFF) yoki och kulrang (#F9F9F9) fon uchun. Qora (#000000) yoki quyuq kulrang (#333333) matn uchun. Qiziqish yoki ogohlantirish uchun: och ko‘k (#007BFF) yoki yashil (#28A745). Nisbatan sezilarli bloklar uchun och sariq (#FFC107) yoki quyuq qizil (#DC3545). Rangsizlik Har bir bo‘lim bir xil uslubga ega bo‘ladi. Brend rangi ishlatilmaydi, asosiy diqqat minimalistik ranglarni tanlashga qaratiladi. Rasmlar va shriftlar haqida Rasmlar iloji boricha kamroq ishlatiladi, asosiy kontent matnga asoslanadi. Agar ishlatilsa, rasmlar sifatli va oddiy, SVG formatida bo‘lishi tavsiya etiladi. Shrift talablari: Google Fonts’ning minimalistik va o‘qilishi oson shrifti (masalan, "Roboto", "Open Sans"). Harflarning o‘lchami mobil qurilmalarda 14px-16px, kompyuterda 16px18px. Sarlavhalar uchun 20px yoki undan katta bo‘lishi kerak. 4. Texnik talablar Frontend Texnologiya: React + TypeScript + Material-UI (MUI). Qo‘shimcha kutubxonalar: Formik yoki React Hook Form – formalarni boshqarish uchun. Yup – ma’lumotlarni tasdiqlash uchun. React Query yoki Axios – API bilan ishlash uchun. React i18next – ko‘p tilda ishlash imkoniyati. React Router – sahifalar o‘rtasida navigatsiya qilish uchun. Chakra UI yoki Tailwind CSS – qo‘shimcha stilizatsiya uchun (lozim bo‘lsa). Backend Texnologiya: Python (Django yoki Flask). Talablar: RESTful API yoki GraphQL arxitekturasi qo‘llaniladi. Ma’lumotlar bazasi: PostgreSQL (tavsiya etiladi) yoki MySQL. JWT yoki OAuth 2.0 orqali autentifikatsiya. Ma’lumotlarni kechiktirmaslik uchun Redis yoki keshlash mexanizmi. Foydalanuvchilarning turli huquqlarini boshqarish uchun: Django REST Framework (DRF) yoki Flaskda mos modul. Foydalanuvchi rasmlarini yuklash va boshqarish uchun: Cloudinary yoki AWS S3. SEO talablar Sahifalarning meta ma’lumotlari (title, description, keywords) avtomatik ravishda ishlab chiqiladi. To‘g‘ri URL-struktura: har bir sahifa uchun oson va tushunarli yo‘nalishlar (masalan, /teacher-dashboard, /student-courses). SSR (Server Side Rendering) yoki Next.js yordamida sahifalar yuklanadi. OpenGraph va Schema.org ma’lumotlar qo‘shiladi (masalan, ijtimoiy tarmoqlarda chiroyli ko‘rinish uchun). 5. Ish grafigi va vaqt Vaqt jadvali: Umumiy loyihani tugatish muddati mart oyiga qadar (3 oy). Har hafta amalga oshirilgan ishlar test qilinadi: Frontend va Backend alohida test qilinadi. Integratsiya testi (frontend va backend o‘zaro bog‘lanishi) har oyda amalga oshiriladi. Dizayn uchun vaqt belgilangan emas, lekin o‘zgarishlar va takliflar asosida dinamik ravishda tuzatiladi. 6. Qo‘shimcha talablar Til versiyalari: Foydalanuvchilarga tanlash uchun til menyusi mavjud bo‘ladi (O‘zbek, Rus, Kiril; optional: Ingliz). Tillarni qo‘llash uchun React i18next yoki Flask-Babel kabi kutubxonalar ishlatiladi. Yangi funksiyalarni qo‘shish: Frontend va Backend uchun modulli tuzilma yaratiladi, bu yangi funksiyalarni qo‘shishni osonlashtiradi. Microservices yoki modul arxitektura afzalroq bo‘lishi mumkin (kattaroq loyihalar uchun).