Kitoblar kutubxonasi API

Kitoblar kutubxonasi API

UMFT Amaliyot

Loyiha nomi: "Kitoblar Kutubxonasi API"

Ma'lumoti:

Ushbu loyiha kitoblar kutubxonasini boshqarish uchun backend API yaratishni o'z ichiga oladi. API kitoblar, mualliflar va kitob kategoriyalari haqidagi ma'lumotlarni saqlash va boshqarishga imkon beradi.

Texnologiyalar:

  • Node.js: Backendni ishlatish uchun.
  • Express.js: RESTful API yaratish uchun.
  • MongoDB: Ma'lumotlar bazasi sifatida.
  • Mongoose: MongoDB bilan ishlash uchun ORM.

Topshiriqlar:

Loyiha muhitini sozlash:

  1. Node.js va Express.js yordamida yangi loyiha yaratish.
  2. MongoDB bilan ulanishni sozlash (local yoki Atlas yordamida).
  3. dotenv paketini o'rnatib, muhit o'zgaruvchilarini sozlash.

Ma'lumotlar bazasi modeli:

  1. Uchta asosiy model yaratish: Kitob (Book), Muallif (Author), va Kategoriya (Category).
  2. Har bir model uchun quyidagi maydonlar bo'lishi kerak:Kitob (Book):title - Kitob nomi (string, required).
  3. author - Muallif ID (MongoDB ObjectID, required, reference to Author).
  4. category - Kategoriya ID (MongoDB ObjectID, required, reference to Category).
  5. publishedYear - Noshir yil (number).
  6. summary - Kitobning qisqa tavsifi (string).

Muallif (Author)

  1. name - Muallif nomi (string, required).
  2. biography - Biografiya (string).

Kategoriya (Category)

  1. name - Kategoriya nomi (string, required).
  2. description - Tavsif (string).

RESTful API yaratish:

CRUD operatsiyalarini bajarish uchun quyidagi endpointlarni yaratish:

Kitoblar uchun:

  1. POST /books - Yangi kitob qo'shish.
  2. GET /books - Barcha kitoblarni ro'yxatini olish.
  3. GET /books/:id - Ma'lum bir kitobni olish.
  4. PUT /books/:id - Kitobni yangilash.
  5. DELETE /books/:id - Kitobni o'chirish.

Mualliflar uchun:

  1. POST /authors - Yangi muallif qo'shish.
  2. GET /authors - Barcha mualliflarni ro'yxatini olish.
  3. GET /authors/:id - Ma'lum bir muallifni olish.
  4. PUT /authors/:id - Muallifni yangilash.
  5. DELETE /authors/:id - Muallifni o'chirish.

Kategoriyalar uchun:

  1. POST /categories - Yangi kategoriya qo'shish.
  2. GET /categories - Barcha kategoriyalarni ro'yxatini olish.
  3. GET /categories/:id - Ma'lum bir kategoriyani olish.
  4. PUT /categories/:id - Kategoriyani yangilash.
  5. DELETE /categories/:id - Kategoriyani o'chirish.

Ma'lumotlarni validatsiya qilish:

  1. Har bir POST va PUT so'rovlarida kiritilgan ma'lumotlarni validatsiya qilish uchun Mongoose schema-larida kerakli validatsiyalarni qo'shish.
  2. Xatoliklar uchun mos HTTP kodlar va xabarlarni qaytarish.
  3. Filtrlash va qidiruv funksiyalari:
  4. Kitoblarni nomi, muallifi yoki kategoriyasi bo'yicha qidirish imkoniyatini qo'shish.

Loyihani ishga tushirish:

  1. Loyiha uchun kerakli npm skriptlarini yaratish (start, dev).
  2. Loyiha tugatilgandan so'ng, uni lokal muhitda test qilib ko'ring.




Report Page