Skip to content

Uyga vazifa ​

Fan: Advanced Python Back-end
Sinf: 10-sinf
Hafta: 6-hafta
Topshirish muddati: Keyingi darsga qadar (7-hafta, 1-dars)


Topshiriq 1: Fayllar (UploadFile) qiyin ​

  1. POST /books/{id}/cover ni yozing: JPEG/PNG, 2 MB, uuid4 nomi; Swagger da sinab, skrinshot oling.
  2. GET /files/{name} ni path traversal dan himoyalab yozing va ../ bilan so'rov yuborib 404 ni tekshiring.
  3. TestClient bilan 3 ta test yozing: muvaffaqiyat (201), noto'g'ri tur (415), katta fayl (413).

Topshiriq 2: Loyihani yakunlash o'rta ​

  1. Settings va .env/.env.example yarating; .env .gitignore da ekanini tekshiring.
  2. Xato formatini (HTTPException va 422) bir xil qiling va 2 ta test yozing.
  3. alembic upgrade head va pytest -q natijalarini skrinshot qiling; README ga ishga tushirish bo'limini qo'shing.

Topshiriq 3: Docker deploy oson ​

  1. Book loyihasi uchun Dockerfile va .dockerignore yozing; docker build va docker run natijasini skrinshot qiling.
  2. docker-compose.yml (api + db + volume) yozing; docker compose up -d --build va /docs ning skrinshotini oling.
  3. localhost va db host farqini 3 jumlada tushuntiring.

Baholash mezoni ​

MezonBall
16-dars: Fayl yuklash va yuklab olish3
17-dars: Loyihani yakunlash3
18-dars: Dockerfile va docker-compose2
Toza, o'z vaqtida va mustaqil bajarilgan2
Jami10
Bonus: bonus darajadagi topshiriq+2

© 2026 AXVHUB.UZ