Til:
Target International School · 9-sinf · Vibecoding

19-dars: Backend Asoslari — Node.js, Express va REST API

O'quvchi:   Sinf: 9-_ Sana: 2026-__-__

🎯 Darsning Muhandislik Maqsadi

Backendning biznes mantiq va xavfsizlik qo'rg'oni sifatidagi o'rnini tushunish. Node.js va Express yordamida birinchi serverni yozish, GET, POST, DELETE methodlarini, status kodlarini (200, 201, 400, 404), express.json() orqali ma'lumot qabul qilishni va 18-darsdagi SQLite bazani API ga ulashni o'rganish.

1. Ma'lumotnoma: HTTP Methodlari va Status Kodlar

Method Maqsadi (CRUD) Express Marshrut Namunasi Kutilgan Status Kod
GET Ma'lumotni o'qish (Read) app.get('/api/products', ...) 200 OK
POST Yangi yozuv yaratish (Create) app.post('/api/products', ...) 201 Created (yoki 400 Bad Request)
GET :id ID bo'yicha olish (req.params) app.get('/api/products/:id', ...) 200 OK (yoki 404 Not Found)
DELETE Resursni o'chirish (Delete) app.delete('/api/products/:id', ...) 200 OK (yoki 404 Not Found)

2. Kod Arxitekturasi: Minimal Express Server Skeleti

const express = require('express');
const app = express();
app.use(express.json()); // <-- Bu middleware nima vazifani bajaradi?
// 1. Mahsulotlar ro'yxatini qaytarish:
app.get('/api/products', (req, res) => {
const items = db.query('SELECT * FROM products');
res.____________________(items); // [Bo'sh joy: JSON javob yuborish metodi]
});
// 2. Serverni ishga tushirish (port 3000):
app.listen(___________, () => console.log('Server tayyor!'));

3. Muhandislik Savollari (Tezkor Nazorat)

A) Nega brauzer bazaga to'g'ridan-to'g'ri ulanishi qat'iyan taqiqlanadi?
Javob: ____________________________________________________________________
B) Expressda req.params va req.query o'rtasidagi asosiy farq nima?
Javob: ____________________________________________________________________
Target CyberLab · Grade 9 · Semester 1 1-bet / 2
Target International School · Amaliy Laboratoriya

Laboratoriya: Express API Studio & REST Sinov

Muhit: lab/index.html Baza: shop.db (SQLite)

🎯 Laboratoriyaning 6 ta Kvesti (Jami 10 Ball)

Brauzerda lab/index.html faylini oching. Express marshrutlarini yozing, ichki HTTP mijoz orqali so'rovlar yuborib javobni tekshiring va har bir kvestni «Tekshirish» tugmasi bilan tasdiqlang.

# Endpoint va Method Muhandislik Topshirig'i Ball Holat
#1 GET /api/status Server salomatligini tekshiruvchi JSON qaytarish (Status 200) +2 [   ]
#2 GET /api/products Bazadan barcha mahsulotlar ro'yxatini SQL orqali tortib berish +2 [   ]
#3 GET /api/products/:id ID bo'yicha qidirish. Topilsa 200, topilmasa 404 Not Found qaytarish +2 [   ]
#4 POST /api/products Yangi tovar qo'shish. Narx tekshiruvi. Yaratilsa 201 Created qaytarish +2 [   ]
#5 DELETE /api/products/:id Mahsulotni bazadan o'chirish va 200 OK tasdiq javobi berish +1 [   ]
#6 🛡️ SQLi Defense Barcha SQL so'rovlarda satr ulamasdan ? parametrlarini ishlatish +1 [   ]

📋 Kriterial Baholash Shkalasi (10 Ball)

  • 1–2-Kvestlar: GET marshrutlari va JSON format 4 ball
  • 3–4-Kvestlar: URL parametr, req.body va 201/400 4 ball
  • 5–6-Kvestlar: DELETE va SQL xavfsizlik 2 ball
  • Jami Maksimal Natija 10 Ball

✍️ O'qituvchi Bahosi

To'plangan ball: ___ / 10
O'qituvchi imzosi: ___________________
Target International School · Yunusobod
Keyingi qadam: 20-dars — Docker Compose va Full-Stack Deploy 2-bet / 2