Warning: Undefined array key "lifetime" in /home/host9526/public_html/includes/functions.php on line 42
Loyiha haqida — EcoSTEAM AI

Loyiha va texnik arxitektura

Platforma ataylab sodda stackda qurilgan: framework yoʻq, tashqi AI xizmati yoʻq. Maqsad — maktab sharoitida ishonchli ishlaydigan va mahalliy jamoa qoʻllab-quvvatlay oladigan tizim.

Loyiha maqsadi

Ekologik savodxonlikni erta yoshdan

1–4-sinf oʻquvchilarida tabiatga munosabat va oddiy tadqiqot koʻnikmalarini shakllantirish. Har bir modul faqat nazariya emas — real tajriba, kuzatuv va uy topshirigʻi bilan yakunlanadi.

Platforma oʻqituvchini almashtirmaydi. U dars materialini tayyorlaydi, javoblarni yigʻadi va tahlil qiladi — pedagogik qarorni esa oʻqituvchi qabul qiladi.

Kim uchun

1–4-sinf oʻquvchilari, ularning oʻqituvchilari va ota-onalari.

Qanday ritmda

Kuniga 15–20 daqiqa, haftasiga 3–5 mashgʻulot.

Kontent hajmi

6 modul, 3 video, 11 metodik material.

Maʼlumot xavfsizligi

Minimal yigʻish, tashqi xizmatlarga uzatish yoʻq.

Texnik arxitektura

Qatlamlar sxemasi

Uchta qatlam va bitta ochiq qoidalar bloki. AI mikroservisi oʻrniga — backend ichidagi tekshiriladigan funksiyalar.

Frontend — HTML5 · CSS3 · Vanilla JS + jQuery
PHP shablonlariindex.php, includes/header.php, footer.php
13 ta CSS fayltokenlar, Grid, Flexbox, clamp()
main.jsmenyu, reveal, video lazy-load, test
jQuery 3.7AJAX, DOM, drag & drop
Backend — PHP 8, protsedura uslubi
functions.phpyordamchilar, ikonkalar, formatlash
Decision Layernext_step_rule() — qoidalar jadvali
Evaluation Engineevaluate_open_answer()
Admin CMSCRUD, sessiya, RBAC
MariaDB — utf8mb4
19 ta jadval users · children · teacher_class · modules · lessons · tasks · child_responses · badges · child_profile · videos · materials · settings · tests · test_questions · test_attempts · games · diagnostic_items · legal_acts · login_attempts
Fayl saqlash — uploads/
Prezentatsiya, PDF, rasm finfo tekshiruvi · .htaccess PHP bajarilishini oʻchiradi

AI oʻrniga nima ishlatilgan

Dastlabki arxitekturada alohida AI mikroservisi rejalashtirilgan edi. Bu versiyada uning oʻrnini ochiq qoidalar jadvali egalladi: match ifodasidagi toʻrtta shart va kalit soʻzlar boʻyicha baholash. Aniqligi pastroq, ammo natija toʻliq tushuntiriladi va oʻqituvchi uni tekshira oladi — bolalar bilan ishlashda bu muhimroq.

Texnologiyalar

Nima, qayerda va nima uchun

Frontend

HTML5
PHP shablonlari — index.php, includes/header.php, footer.php. Semantik teglar, <details> accordion.
CSS3
assets/css/ — 13 ta fayl. Custom properties (tokenlar), Grid, Flexbox, clamp(), aspect-ratio, prefers-reduced-motion.
JavaScript + jQuery 3.7
assets/js/main.js — header skroll, mobil menyu, IntersectionObserver bilan paydo boʻlish, video lazy-load, test dvigateli, AJAX orqali baholash.
Google Fonts
Inter — bitta shrift oilasi (design.md: SF Pro oʻrniga). Matn 17px / 400, sarlavhalar 600, ogʻirlik zinasi 300 / 400 / 600 / 700.
SVG ikonkalar
includes/functions.php ichidagi icon() — emoji oʻrniga chiziqli ikonkalar, inline chiqariladi.
YouTube embed
videolar.php — bosilganda iframe yaratiladi, youtube-nocookie.com domenidan.

Backend

PHP 8.1+
Butun loyiha. match, str_starts_with, nomlangan argumentlar. Protsedura uslubi — framework yoʻq.
MariaDB, utf8mb4
database/schema.sql — 12 ta jadval: modullar, darslar, topshiriqlar, javoblar, nishonlar, materiallar, sozlamalar.
PDO, prepared statements
config/db.php va barcha soʻrovlar — SQL inʼyeksiyadan himoya. Baza boʻlmasa sayt demo maʼlumot bilan ishlayveradi.
PHP sessiyalar
Admin kirishi, CSRF token, flash xabarlar. httponly, samesite=Lax, HTTPS'da secure.
password_hash / verify
Admin paroli bcrypt bilan saqlanadi; kirish urinishlari login_attempts jadvalida qayd etiladi.
finfo, getimagesize
Yuklangan fayl turini imzo boʻyicha tekshirish — kengaytmaga ishonilmaydi.

Infratuzilma

Apache 2.4 + .htaccess
Ildiz va uploads/ — xizmat papkalarini yopish, PHP bajarilishini oʻchirish, kesh va xavfsizlik sarlavhalari.
Nginx (muqobil)
deploy/nginx.conf.example — xuddi shu qoidalar PHP-FPM uchun.
Git + GitHub
.gitignore — maxfiy config va yuklangan fayllar repoga kirmaydi.
XAMPP / Ubuntu
config/config.local.php — muhitga qarab bitta fayl oʻzgaradi. Yoʻriqnoma: DEPLOY.md.
Let's Encrypt
certbot orqali HTTPS — bolalar maʼlumotlari uchun majburiy.
Bogʻliqlik xaritasi

Pedagogik bloklar texnik qismda qayerda

Kontent va topshiriqlar banki
MariaDB — modules, lessons, tasks + admin CMS
Diagnostik apparat
Backend'dagi Evaluation Engine + child_responses
Adaptiv yadro
Decision Layer — next_step_rule() qoidalar jadvali
Geymifikatsiya va monitoring
badges, child_profile + bildirishnoma xizmati
Dars ishlanmalari
Oʻqituvchi dashboardi orqali materials jadvalidan
Xavfsizlik

Texnik darajadagi choralar

Maʼlumotlar shifrlash

Transit — HTTPS/TLS (Let's Encrypt). At rest — baza darajasida shifrlash va muntazam backup. Backup fayllari alohida saqlanadi.

SQL inʼyeksiya va XSS

Barcha soʻrovlar PDO prepared statements orqali; foydalanuvchi kiritgan qiymat hech qachon SQL matniga qoʻshilmaydi.

Chiqishda e() yordamchisi — htmlspecialchars ENT_QUOTES bilan. Har bir sahifada istisnosiz.

CSRF himoyasi

Har bir POST forma va AJAX soʻrovi sessiyadagi token bilan imzolanadi. Tekshiruv hash_equals() orqali — vaqt hujumlariga qarshi.

Fayl yuklash

Fayl turi finfo imzosi boʻyicha aniqlanadi, kengaytmaga ishonilmaydi. uploads/ ichida .htaccess PHP bajarilishini butunlay oʻchiradi.

Bolalar maʼlumotlari

Minimal yigʻish tamoyili. Bolaning javoblari tashqi xizmatlarga uzatilmaydi. Ota-ona istalgan vaqtda hisobni va unga bogʻliq barcha maʼlumotni oʻchirishni talab qila oladi.