Maktablar uchun ijtimoiy-ta’limiy platforma · 2026
MAKTABNET
O‘quvchilar, o‘qituvchilar va maktab ma’muriyatini bitta raqamli muhitga birlashtiruvchi ijtimoiy-ta’limiy platforma.
Muhandislik ko‘rsatkichlari
- 29 Ma’lumot modellari
- 100+ API endpointlar
- 20+ Backend modullar
- 3 Platforma
- 627+ Avtomatlashtirilgan testlar
Texnologiyalar
- NestJS 11
- Node.js
- TypeScript
- Prisma ORM
- PostgreSQL
- JWT + Passport
- EventEmitter2
- Multer
- Jest
- Supertest
- React 19
- Vite
- TypeScript
- Tailwind CSS
- i18next
- Lucide
- React Native
- Expo
- TypeScript
- pnpm monorepo
- Shared TS packages
- Docker
- Docker Compose
- Nginx
- Let's Encrypt
- Hetzner VPS
Muammo
O‘zbekiston maktablarida o‘quvchilar, o‘qituvchilar va ma’muriyat o‘rtasidagi muloqot Telegram guruhlari, e’lonlar taxtasi va og‘zaki aloqa o‘rtasida tarqoq. G‘oyalar, muammolar va tadbirlar oson yo‘qoladi, maktablar o‘rtasida esa deyarli tuzilmalashgan hamkorlik yo‘q.
Maktabnet buni yagona, tartibli va shaffof muhit bilan almashtiradi.
Yechim
Maktabnet o‘quvchilar, o‘qituvchilar va maktab ma’muriyatini bitta ijtimoiy-ta’limiy platformaga birlashtiradi. Foydalanuvchilar post joylaydi, g‘oyalar taklif qiladi va ularga ovoz beradi, muammolar haqida xabar beradi, loyihalar yuritadi va tadbirlar tashkil qiladi — maktablar esa bir-biri bilan rasmiy hamkorlik o‘rnatishi mumkin.
Hodisaga asoslangan bildirishnoma qatlami layk, izoh, a’zolik so‘rovi yoki yangi post kabi harakatlar sodir bo‘lganda kerakli odamlarni xabardor qiladi.
Mening rolim
Loyihani boshidan ishlab chiqarishgacha yakka o‘zim qurdim.
Bu backend va ma’lumotlar bazasi dizayni, REST API, autentifikatsiya va rolga asoslangan ruxsatlar tizimi, React veb-ilova, React Native mobil ilova, media yuklash va rasmni tekshirish quvuri, lokalizatsiya va tungi rejim, hamda deploy’ni o‘z ichiga oldi.
Shuningdek, serverni shunday sozladimki, Maktabnet o‘sha VPS’da ishlaydigan boshqa, aloqasiz ishlab chiqarish loyihasi bilan bir-biriga xalaqit bermay ishlaydi.
Arxitektura
API-first. NestJS + PostgreSQL + Prisma backend’i: 29 ta ma’lumot modeli, 100+ endpoint va 20+ domen moduli.
Veb va mobil ilova backend bilan umumiy, tiplashtirilgan @maktab/api-client paketi orqali ishlaydi — shu tufayli API shartnomasi platformalar bo‘ylab bir xil bo‘ladi.
Bildirishnomalar hodisaga asoslangan: domen servislari hodisa chiqaradi, markaziy tinglovchi ularni qabul qilib bildirishnoma servisiga uzatadi, u esa ularni saqlaydi.
- Post · G‘oya · A’zolik
- Hodisa chiqadi
- Markaziy tinglovchi
- Bildirishnoma servisi
- Bazaga saqlanadi
Bildirishnoma mantig‘i asosiy biznes-mantiqdan ajratilgan holda qoladi.
Qiyinchiliklar
Asosiy qiyinchilik — to‘rt rol (O‘quvchi, O‘qituvchi, Maktab admini, Platforma admini) hamda a’zolik holatlari (PENDING / APPROVED / REJECTED) va moderatsiya holatlari (WARNED / RESTRICTED / SUSPENDED) bo‘ylab to‘g‘ri ishlaydigan ruxsatlar matritsasini loyihalash edi.
Bir nozik holat: kontentning haqiqiy muallifini u ko‘rsatilayotgan kontekstdan va maktab nomidan chop etilgan kontentdan ajratish.
Ikkinchi qiyinchilik — deploy. Maktabnet’ni allaqachon aloqasiz ishlab chiqarish loyihasi ishlayotgan VPS’ga qo‘shish tarmoq, konteyner nomlari, reverse-proxy sozlamalari va SSL sertifikatlaridagi to‘qnashuvlardan qochishni talab qildi.
Natija
Maktabnet — ishlaydigan uch platformali mahsulot: backend, veb va mobil — jonli domenda ishlab chiqarishga joylashtirilgan.
Tizim 370+ unit-test va 257+ e2e-test bilan qoplangan, arxitektura esa qayta ishlashsiz yangi funksiyalar va rollarni qabul qilishga mo‘ljallangan.
Asosiy funksiyalar
- Autentifikatsiya va avtorizatsiya
- Rolga asoslangan ruxsatlar
- Postlar
- G‘oyalar va ovoz berish
- Muammolar
- Loyihalar
- Tadbirlar
- Maktablararo hamkorlik
- Moderatsiya
- Real vaqt bildirishnomalari
- Media yuklash
- Ko‘p tilli qo‘llab-quvvatlash
- Tungi rejim
- Veb + Mobil
- Admin funksiyalari
Overview
Maktabnet is a social-educational platform that brings students, teachers and school administration into one digital environment.
It is built as a three-platform product — a NestJS API-first backend, a React web application and a React Native mobile application sharing a typed API client. The system combines social interaction, cross-school collaboration, moderation and event-driven notifications in a single ecosystem.