YolUp
Keys · 2026Oʻqituvchilar darsni video ilova, messenjer va jadval orqali olib borardi, ota-onalar esa buning hech birini koʻrmasdi. Biz butun darsni bir joyga jamlash uchun YolUp’ni qurdik.


Umumiy maʼlumot
YolUp — Oʻzbekistondagi maktab oʻquvchilari uchun onlayn dars platformasi. Oʻqituvchi video va ekran ulashish bilan jonli dars oʻtadi, matematik formulalarni qoʻllab-quvvatlaydigan umumiy doskada tushuntiradi va kurs chatida guruh bilan muloqot qiladi. Uy vazifasi fayl yoki rasm sifatida topshiriladi va AI tomonidan oʻzbek tilida tekshiriladi, oʻqituvchi esa bahoni koʻrib chiqishi mumkin. Davomat va diqqat avtomatik qayd etiladi, ota-onalar esa farzandining natijalarini — uning roziligi bilan — kuzatib boradi. Biz oʻqituvchi, oʻquvchi, ota-ona va administratorlar uchun veb-ilovani, iOS va Android ilovasini, Django backend’ni va yolup.uz saytini loyihalab, qurdik.
Vazifa
Odatdagi onlayn dars bitta ilovada video qoʻngʻiroq, messenjerda uy vazifasi va jadvalda baholar degani edi. Oʻqituvchilar vositalarni bir-biriga ulashga vaqt sarflardi, ota-onalarda esa farzandi darsga kirgani, diqqat qilgani yoki vazifani bajarganini bilishning ishonchli yoʻli yoʻq edi. YolUp bu vositalar toʻplamini beqaror mobil aloqada telefonda ishlaydigan yagona platforma bilan almashtirishi kerak edi — birinchi navbatda oʻzbek tilida.
- C1
Jonli va interaktiv
Video, doska va chat butun sinf uchun bir vaqtda real vaqtda yangilanadi.
- C2
Telefonlar va zaif tarmoq
Koʻp oʻquvchilar 3G tarmogʻidagi telefondan qoʻshiladi; ilova fonga oʻtadi va aloqa uziladi.
- C3
Bolalar maxfiyligi
Kuzatuv rozilik talab qiladi: ota-ona farzandiga faqat uning tasdigʻi bilan bogʻlanadi, yozuvlar esa faqat platforma ichida koʻriladi.
Yondashuvimiz — qarorlar jurnaliQarorlar jurnali
Markazda dars turadi: video, doska, chat, uy vazifasi va davomat bir xil dars va kursga bogʻlangan. Quyida: tizimni shakllantirgan qarorlar va har birining bahosi.Tizimni shakllantirgan qarorlar va har birining bahosi.
| № | Qaror | Nega | Qabul qilingan murosa |
|---|---|---|---|
| D1 | Pullik video xizmat oʻrniga oʻz serverimizdagi LiveKit. | Har bir oʻquvchi uchun oldindan maʼlum xarajat va dars maʼlumotlari mijoz boshqaradigan infratuzilmada; yozuvlar avtomatik saqlanadi. | Media serverni jamoa oʻzi yuritadi va kuzatadi. |
| D2 | Dastlabki holat REST orqali, keyin chat, doska va bildirishnomalar uchun WebSocket orqali jonli hodisalar. | Dars oʻrtasida qoʻshilganda doska va chat bitta soʻrovda yuklanadi; keyin faqat oʻzgarishlar uzatiladi — bu mobil aloqa uchun yengil. | Qayta ulanishda oʻtkazib yuborilgan holat qayta sinxronlanishi kerak, shuning uchun ilova soʻnggi sahifani qayta yuklab, lokal kesh bilan birlashtiradi. |
| D3 | Monorepo oʻrniga umumiy mantiq roʻyxati tekshiriladigan alohida veb va mobil kod bazalari. | Veb va mobil build vositalari bir-biriga xalaqit bermaydi, kichik jamoa ikkalasini mustaqil chiqaradi. | Umumiy mantiq ikki nusxada; nusxalar mosligini skript tekshiradi. |
- D1
Pullik video xizmat oʻrniga oʻz serverimizdagi LiveKit.
- Nega
- Har bir oʻquvchi uchun oldindan maʼlum xarajat va dars maʼlumotlari mijoz boshqaradigan infratuzilmada; yozuvlar avtomatik saqlanadi.
- Murosa
- Media serverni jamoa oʻzi yuritadi va kuzatadi.
- D2
Dastlabki holat REST orqali, keyin chat, doska va bildirishnomalar uchun WebSocket orqali jonli hodisalar.
- Nega
- Dars oʻrtasida qoʻshilganda doska va chat bitta soʻrovda yuklanadi; keyin faqat oʻzgarishlar uzatiladi — bu mobil aloqa uchun yengil.
- Murosa
- Qayta ulanishda oʻtkazib yuborilgan holat qayta sinxronlanishi kerak, shuning uchun ilova soʻnggi sahifani qayta yuklab, lokal kesh bilan birlashtiradi.
- D3
Monorepo oʻrniga umumiy mantiq roʻyxati tekshiriladigan alohida veb va mobil kod bazalari.
- Nega
- Veb va mobil build vositalari bir-biriga xalaqit bermaydi, kichik jamoa ikkalasini mustaqil chiqaradi.
- Murosa
- Umumiy mantiq ikki nusxada; nusxalar mosligini skript tekshiradi.
Yechim va arxitekturaArxitektura
React va React Native mijozlari, WebSocket’li Django API va oʻz serverimizdagi video server.
Veb va mobil ilovalar bitta API’dan foydalanadi: kurslar, darslar, uy vazifalari va hisobotlar uchun REST; chat, doska va bildirishnomalar uchun uchta WebSocket kanali. LiveKit videoni uzatadi va darslarni yozib oladi; PostgreSQL maʼlumotlarni saqlaydi, Redis real vaqtdagi xabarlarni uzatadi. Uy vazifalarini AI tekshiruvi Google Gemini’da ishlaydi.
- SwiftCore tomonidan yaratilgan
- Mavjud yoki uchinchi tomon tizimi
- Barcha mijozlar uchun yagona kirish nuqtasi
Texnologiyalar
Ushbu loyihada amalda ishlatilayotgan vositalar va har biri muqobillaridan nega afzal koʻrilgani.
Frontend
- React
- TypeScript
- Vite
- TanStack Query
- Zustand
- Tailwind CSS
- React Native (Expo)
React · TypeScript · Vite · TanStack Query · Zustand · Tailwind CSS · React Native (Expo)
Toʻrt rol uchun veb-ilova hamda oʻquvchi va oʻqituvchilar uchun mobil ilova — ikkalasi ham oʻzbek, rus va ingliz tillarida.
Backend
- Python
- Django
- Django REST Framework
- Django Channels
Python · Django · Django REST Framework · Django Channels
Barcha rollar uchun bitta ruxsatlar jadvali, audit jurnali va yumshoq oʻchirish — foydalanuvchilar bolalar boʻlganda muhim qoidalar.
Maʼlumotlar
- PostgreSQL
- Redis
PostgreSQL · Redis
Infratuzilma
- LiveKit
- Docker Compose
- Caddy
- Vercel
LiveKit · Docker Compose · Caddy · Vercel
Sifat va vositalar
- TypeScript
- ESLint layer rules
- Three languages: uz, ru, en
TypeScript · ESLint layer rules · Three languages: uz, ru, en
Mahsulot ichidan


Natijalar
Natijalar hali oʻlchanmoqda.
Raqamlarni faqat toʻliq davr davomida oʻlchanib, mijoz tasdiqlaganidan keyin eʼlon qilamiz. Ungacha nima oʻzgargani:
- Darsning videosi, doskasi, chati, uy vazifasi va davomati uchta vosita oʻrniga bitta platformada.
- Uy vazifasi AI tomonidan oʻzbek tilida tekshiriladi, bahoni oʻqituvchi koʻrib chiqadi.
- Ota-onalar davomat va natijalarni koʻradi — faqat farzandning roziligi bilan.