EVOS tarmog‘i omborxonasi faoliyatini avtomatlashtiruvchi axborot tizimi loyihasi

KURS ISHI
Mavzu:   EVOS REJA:
Kirish ................................................................................................................................................ 3
Loyiha modelini shakllantirish .......................................................................................................... 4
Loyiha kontroller va ko‘rinishlarini yaratish ..................................................................................... 9
Loyihadan foydalanish bo‘yicha ko‘rsatma .................................................................................... 32
Xulosa ............................................................................................................................................ 38
Foydalanilgan adabiyotlar .............................................................................................................. 39 Kirish
Bugungi   kunda   umumiy   ovqatlanish   va   logistika   sohasini,   xususan,   tezkor
xizmat   ko'rsatish   restoranlari   (fast-food)   uchun   mahsulotlarni   saqlash   va
taqsimlash   jarayonlarini   zamonaviy   axborot-kommunikatsiya   texnologiyalarisiz
tasavvur   etib   bo'lmaydi.   EVOS   kabi   yirik   tarmoqlarda   omborlar   faoliyatini
samarali tashkil etish, xomashyolar harakatini nazorat qilish, mahsulotlar qoldig'ini
hisobga   olish   va   ma'lumotlarni   tezkor   qayta   ishlashda   axborot   tizimlarining   o'rni
beqiyosdir.   Shu   sababli,   fast-food   tarmog'i   omborlarida   ra’qamli   boshqaruv
tizimlarini   joriy   etish   va   ta'minot   zanjirini   optimallashtirish   eng   dolzarb
masalalardan biri hisoblanadi.
Mazkur   ishning   asosiy   maqsadi   -   EVOS   tarmog'i   omborxonasi   faoliyatini
avtomatlashtiruvchi   axborot   tizimi   loyihasini   ishlab   chiqish   va   uning   ishlash
tamoyillarini   o'rganishdan   iborat.   Ushbu   tizim   orqali   oziq-ovqat   mahsulotlari,
yarim tayyor mahsulotlar, yetkazib beruvchilar, filiallararo taqsimot, kirim-chiqim
jarayonlari   hamda   qoldiqlar   haqidagi   ma'lumotlarni   yagona   platformada
boshqarish   imkoniyati   yaratiladi.  Tizim   ma'lumotlarni   tezkor   qayta   ishlash,   inson
omili ta'sirini kamaytirish va mahsulotlarning yaroqlilik muddatini nazorat qilishda
aniqlikni oshirishga xizmat qiladi.
Shuningdek,   ombordagi   mahsulotlar   harakatini   real   vaqt   rejimida   (real-time)
nazorat   qilish   va   tahlil   qilish   imkonini   beradi.   Natijada   boshqaruv   jarayonlari
samaradorligi   oshib,   umumiy   ovqatlanish   tarmog'i   faoliyatining   shaffofligi   va
ishonchliligi ta'minlanadi.
Loyiha   jarayonida  zamonaviy   dasturlash   texnologiyalari   va  MVC   (Model–View–
Controller) arxitekturasidan foydalaniladi. Bu esa tizimning ishonchliligi, qulayligi
va   kelajakda   tarmoq   kengayishi   bilan   parallel   ravishda   tizimni   ham
masshtablashtirish   imkonini   beradi.   Ishning   amaliy   ahamiyati   shundaki,   ishlab
chiqilgan tizimni   EVOS  logistika  markazlari   sharoitida qo'llash  mumkin  bo'lib, u
mahsulotlarni   hisobga   olish   jarayonini   soddalashtiradi,   texnik   xatoliklarni
kamaytiradi va umumiy ish unumdorligini oshiradi.
3 Loyiha modelini shakllantirish
Axborot tizimini ishlab chiqish jarayonida loyiha modelini shakllantirish eng
muhim   bosqichlardan   biri   hisoblanadi.   Model   —   bu   real   hayotdagi   obyektlar,
jarayonlar   va   ularning   o‘zaro   bog‘liqligini   dasturiy   muhitda   ifodalovchi   mantiqiy
tuzilma bo‘lib, tizimning ichki ishlash mexanizmini belgilab beradi. To‘g‘ri ishlab
chiqilgan   model   ma’lumotlarning   izchil   saqlanishi,   tizimning   kengaytirilishi   va
barqaror ishlashini ta’minlaydi.[1],[2]
Loyiha   modelini   shakllantirish   jarayonida   avvalo   tizimda   ishtirok   etuvchi
asosiy   obyektlar   aniqlanadi.   Ushbu   obyektlar   kelajakda   ma’lumotlar   bazasida
jadval   sifatida   saqlanadi.   Har   bir   model   o‘ziga   xos   xususiyatlar   (atributlar)   va
boshqa   modellar   bilan   bo‘lgan   bog‘lanishlarga   ega   bo‘ladi.   Aynan   shu
bog‘lanishlar orqali ma’lumotlar o‘rtasidagi mantiqiy aloqalar ta’minlanadi.
Zamonaviy   web-ilovalar   ishlab   chiqishda   keng   qo‘llaniladigan   MVC
(Model–View–Controller)   arxitekturasi   asosida   model   qismi   tizimning
ma’lumotlar   qatlamini   ifodalaydi.   Model   foydalanuvchi   interfeysi   yoki   biznes
mantiqidan mustaqil bo‘lib, faqat ma’lumotlar bilan ishlashga mas’ul hisoblanadi.
Bu   yondashuv   dastur   kodining   tushunarli,  qayta   foydalaniladigan   va  test   qilishga
qulay bo‘lishiga xizmat qiladi.[4]
Model   qatlamini   ma’lumotlar   bazasi   bilan   bog‘lash   uchun   ko‘pincha   ORM
(Object-Relational Mapping) texnologiyalaridan foydalaniladi. ORM obyektlar va
ma’lumotlar   bazasi   jadvallari   o‘rtasida   avtomatik   moslikni   ta’minlaydi.   Natijada
dasturchi   to‘g‘ridan-to‘g‘ri   SQL   so‘rovlar   yozmasdan,   obyektlar   orqali
ma’lumotlar   bilan   ishlash   imkoniyatiga   ega   bo‘ladi.   Bu   esa   ishlab   chiqish
jarayonini tezlashtiradi va xatoliklar ehtimolini kamaytiradi.[5]
Loyiha   modelini   shakllantirishda   ma’lumotlar   yaxlitligi,   normalizatsiya
qoidalari  va xavfsizlik masalalariga alohida e’tibor qaratiladi. Har  bir model aniq
vazifani bajarishi, keraksiz takrorlanishlarga yo‘l qo‘yilmasligi lozim. Shuningdek,
model strukturasining kelajakda yangi funksiyalar qo‘shishga mos bo‘lishi muhim
hisoblanadi.
4 Fast-food   ombori   axborot   tizimini   ishlab   chiqishda   dastlab   loyiha   modelini
shakllantirish   bosqichi   amalga   oshirildi.   Ushbu   bosqichda   tizimning   asosiy
obyektlari   aniqlanib,   ularning   o‘zaro   bog‘liqligi   belgilandi.   Loyihada   Product,
Category,   ContactMessege,   CartItem,   Order   va   OrderItem   modellaridan
foydalanildi.
1-rasm. Product sinfi.  
Product   modeli   EVOS   omboridagi   mahsulotlar   va   xomashyolar   haqidagi   asosiy
ma'lumotlarni   saqlashga   xizmat   qiladi.   Unda   mahsulot   nomi,   toifasi,   mavjud
miqdori, yaroqlilik muddati, narxi va rasmi kabi muhim atributlar mavjud. Ushbu
model   mahsulotlar   zaxirasini   nazorat   qilish,   muddati   o'tayotgan   xomashyolarni
5 aniqlash   va   hisob-kitob   jarayonlarini   avtomatlashtirishda   muhim   ahamiyatga   ega.
2-rasm.   Category sinfi
Category modeli mahsulotlarni toifalarga ajratish uchun xizmat qiladi. Ushbu
model   mahsulotlarni   tartibli   saqlash   va   qidirishni   osonlashtirish   imkonini   beradi.
Category   va   Product   o‘rtasidagi   bog‘lanish   orqali   har   bir   toifaga   tegishli
mahsulotlarni   aniqlash   va   boshqarish   mumkin   bo‘ladi,   bu   esa   ombor
ma’lumotlarini samarali tashkil etishga xizmat qiladi.
3-rasm. ContactMessage sinfi
Contact   modeli   foydalanuvchilar   tomonidan   yuborilgan   murojaat   va
xabarlarni   saqlash   uchun   mo‘ljallangan.   Ushbu   model   tizim   va   foydalanuvchi
6 o‘rtasidagi aloqani mustahkamlashga hamda murojaatlarni tartibli ko‘rib chiqishga
imkon yaratadi.
4-rasm. CartItem sinfi
CartItem   modeli   filiallar   yoki   foydalanuvchilar   tomonidan   tanlangan
mahsulotlarni   vaqtinchalik   savatchada   saqlashga   xizmat   qiladi.   Unda   mahsulot
identifikatori,   nomi,   miqdori,   narxi   va   umumiy   summasi   kabi   atributlar   mavjud.
Ushbu   model   buyurtmalarni   shakllantirish,   tanlangan   mahsulotlar   miqdorini
nazorat   qilish   va   yakuniy   hisob-kitob   jarayonlarini   avtomatlashtirish   imkonini
beradi.
7 5-rasm. Order sinfi
Order   modeli   EVOS   tizimida   filiallar   yoki   mijozlar   tomonidan   berilgan
buyurtmalarni   boshqarish   va   ularning   holatini   nazorat   qilishga   xizmat   qiladi.   U
buyurtmalarni   qayd   etish,   jarayonlarni   avtomatlashtirish   va   yetkazib   berish
samaradorligini oshirish imkonini beradi.
Mazkur   model   orqali   buyurtma   berilgan   sana,   buyurtma   holati   (tayyorlanmoqda,
yo'lda,   yetkazildi,   bekor   qilindi)   va   umumiy   summa   kabi   ma'lumotlar   saqlanadi.
Bu   esa   logistika   tahlilini   amalga   oshirish,   filiallar   ehtiyojini   monitoring   qilish   va
savdo   hisobotlarini   shakllantirish   jarayonlarini   yengillashtiradi.   Natijada   tizimda
shaffof va ishonchli ta'minot zanjiri boshqaruvi yaratiladi.
6-rasm OrderItem sinfi
Barcha   modellar   AppDbContext   klassi   orqali   yagona   ma’lumotlar   bazasiga
bog‘langan. AppDbContext Entity Framework Core yordamida ma’lumotlar bazasi
bilan ishlashni ta’minlaydi va har bir model uchun alohida DbSet larni o‘z ichiga
oladi. Bu yondashuv ma’lumotlarni boshqarishni soddalashtiradi hamda tizimning
barqaror ishlashini ta’minlaydi.
8 Natijada,   loyiha   modeli   litsey   axborot   tizimining   mantiqiy   asosini   tashkil
etib,   keyingi   bosqichlarda   kontroller   va   ko‘rinishlarni   ishlab   chiqish   uchun
mustahkam poydevor yaratadi.
Loyiha kontroller va ko‘rinishlarini yaratish
Axborot tizimini ishlab chiqishda kontroller va ko‘rinishlarni (view) yaratish
muhim   bosqichlardan   biri   hisoblanadi.   Ushbu   bosqich   foydalanuvchi   bilan   tizim
o‘rtasidagi   o‘zaro   aloqani   ta’minlaydi   hamda   ma’lumotlarning   to‘g‘ri   qabul
qilinishi   va   aks   ettirilishini   amalga   oshiradi.   Kontroller   va   ko‘rinishlar   MVC
(Model–View–Controller)   arxitekturasining   ajralmas   qismlari   bo‘lib,   ularning
to‘g‘ri tashkil etilishi tizimning qulayligi va samaradorligini belgilaydi.[4]
Controller   foydalanuvchidan   kelib   tushadigan   so‘rovlarni   qabul   qiladi   va
ularni qayta ishlaydi. Kontroller modeldan ma’lumotlarni oladi yoki ma’lumotlarni
modelga   uzatadi   hamda   natijani   ko‘rinish   (view)   orqali   foydalanuvchiga   taqdim
etadi.   Shu   orqali   kontroller   tizimning   mantiqiy   boshqaruv   markazi   vazifasini
bajaradi.   Kontrollerlar   yordamida   ma’lumotlarni   qo‘shish,   o‘chirish,   tahrirlash   va
ko‘rish kabi amallar amalga oshiriladi.
View   (ko‘rinish)   foydalanuvchi   interfeysini   ifodalaydi.   Ko‘rinishlar
foydalanuvchiga   ma’lumotlarni   qulay   va   tushunarli   shaklda   taqdim   etish   uchun
xizmat   qiladi.   Ular   asosan   HTML,   CSS   va   zarur   hollarda   JavaScript
texnologiyalari   yordamida yaratiladi. Ko‘rinishlar  foydalanuvchiga  ma’lumotlarni
ko‘rsatadi, biroq ma’lumotlarni qayta ishlash bilan shug‘ullanmaydi.[6]
Kontroller   va   ko‘rinishlar   o‘rtasidagi   aniq   vazifalar   taqsimoti   dastur
tuzilmasining   soddaligi   va   tushunarliligini   ta’minlaydi.   Bu   yondashuv   dastur
kodini   qo‘llab-quvvatlashni   osonlashtiradi   hamda   kelajakda   tizimni   kengaytirish
imkonini beradi. Masalan, foydalanuvchi interfeysini o‘zgartirish zarur bo‘lganda,
model va kontroller qismlariga deyarli ta’sir qilinmaydi.[4]
Zamonaviy web-ilovalarda kontroller va ko‘rinishlarni yaratishda xavfsizlik,
foydalanuvchi   qulayligi   va   ma’lumotlarning   aniqligiga   alohida   e’tibor   qaratiladi.
Kontrollerlar   orqali   noto‘g‘ri   yoki   ruxsatsiz   ma’lumot   kiritilishining   oldi   olinadi,
ko‘rinishlar esa foydalanuvchi uchun intuitiv va tushunarli qilib ishlab chiqiladi.[6]
9 HomeController   EVOS   tizimining   oddiy   foydalanuvchilar   (mijozlar)   bilan
ishlovchi  asosiy  kontrolleri  hisoblanadi.   Ushbu  kontroller   orqali  foydalanuvchilar
tizimdagi   mavjud   mahsulotlar,   xizmatlar   va   yangiliklar   haqida   umumiy
ma’lumotlarga ega bo‘ladilar.
7-rasm. HomeController sinfi
HomeController   orqali   tizimning   bosh   sahifasini   shakllantirish,   mahsulotlar
katalogini   aks   ettirish   va   filiallar   bo'yicha   umumiy   ma'lumotlarni   ko'rsatish
jarayonlari   boshqariladi.   Shuningdek,   u   foydalanuvchi   so'rovlarini   qabul   qilib,
mos   keluvchi   ko'rinishlarni   (View)   yuklash   va   tizimning   shaffof   ishlashini
ta'minlashga xizmat qiladi.
10 8-rasm. CartController ichidagi metodlar
CartController   savatcha   bilan   bog'liq   amallarni   boshqaradi   va   foydalanuvchi
tanlagan   mahsulotlarini   tartibga   soladi.   Controller   tarkibida   quyidagi   asosiy
metodlar (Action) mavjud:
Index:  Foydalanuvchi  savatchasidagi  mahsulotlar ro'yxatini  aks ettiruvchi  asosiy
sahifani (Views/Cart/Index.cshtml) chaqiradi.
Checkout:   Buyurtmani   rasmiylashtirish   sahifasini   (Views/Cart/Checkout.cshtml)
yuklaydi. 
Ushbu   controller   foydalanuvchiga   savatchadagi   mahsulotlarni   ko'rish   va
buyurtma berish bosqichiga o'tish imkonini beradi.
9-rasm. HomeController Index metodi
11 `Index`   metodi   tanlangan   dorining   batafsil   ma’lumotlarini   foydalanuvchiga
ko‘rsatish   uchun   xizmat   qiladi.   Ushbu   metod   ma’lumotlar   bazasidan   berilgan   id
bo‘yicha   mahsulotni   qidiradi   hamda   unga   bog‘langan   qo‘shimcha   ma’lumotlarni
(qadoqlanishi   va   tavsiflari)   Include()   orqali   yuklaydi.   Agar   mahsulot   topilmasa,
NotFound()   natijasi   qaytariladi.   Topilgan   ma’lumotlar   `ViewModel`   orqali
sahifaga uzatilib, foydalanuvchiga dorining to‘liq tavsifi taqdim etiladi.
`Card()`   metodi   foydalanuvchining   savatchasidagi   dorilar   ro‘yxatini
shakllantirish   va   ko‘rsatish   uchun   xizmat   qiladi.   Ushbu   metod   joriy
foydalanuvchiga tegishli savatcha elementlarini ma’lumotlar bazasidan olib, har bir
mahsulot   bo‘yicha   umumiy   summani   hisoblaydi.   Shuningdek,   oraliq   jami
(subtotal),   umumiy   to‘lov   summasi   (total)   va   savatchadagi   mahsulotlar   soni
aniqlanadi.   Hisoblangan   ma’lumotlar   `ViewModel`   orqali   sahifaga   uzatilib,
foydalanuvchiga to‘liq savatcha ko‘rinishi taqdim etiladi.
10-rasm. Productcontroller sinfi.
Mazkur   controller   ASP.NET   Core   MVC   arxitekturasi   asosida   ishlab
chiqilgan   bo‘lib,   foydalanuvchi   interfeysi   va   ma’lumotlar   bazasi   o‘rtasidagi
bog‘lovchi bo‘g‘in vazifasini bajaradi.
12 11-rasm. ProductsControllerdagi Index va AddProduct metodi
ProductsController   EVOS   axborot   tizimida   mahsulotlar   bilan   ishlashning
asosiy   funksiyalarini   amalga   oshiradi.   U   mahsulot   qo‘shish,   filtrlash   va   batafsil
ko‘rish   imkonini   berib,   foydalanuvchi   tajribasini   yaxshilaydi   hamda   tizimning
samarali ishlashini ta’minlaydi.
13 12-rasm. HomeControllerning Contact metodi
Mazkur   controller   foydalanuvchi   va   tizim   o‘rtasidagi   aloqani   ta’minlab,
murojaatlarni   tartibli   saqlash   va   boshqarish   imkonini   beradi.   Natijada
foydalanuvchilar   bilan   samarali   muloqot   yo‘lga   qo‘yiladi   va   tizimning
ishonchliligi   oshadi.   Foydalanuvchi   xabar   yo‘llash   uchun   o‘zining   ism,   familiya,
email va xabar mavzusini kiritishi kerak.
14 13-rasm. HomeController dagi AddToCart() metodi.
AddToCart(int   productId,   int   quantity)   metodi   tanlangan   dorini
foydalanuvchi   savatchasiga   qo‘shish   uchun   xizmat   qiladi.   Ushbu   metod   avvalo
mahsulot   mavjudligini   tekshiradi,   so‘ng   savatchada   shu   mahsulot   bor-yo‘qligini
aniqlaydi. Agar mavjud bo‘lsa, uning miqdori oshiriladi, aks holda yangi savatcha
elementi   yaratiladi.   Amal   bajarilgandan   so‘ng   ma’lumotlar   bazasi   yangilanadi   va
foydalanuvchi savatcha sahifasiga yo‘naltiriladi.
15 14-rasm. HomeController dagi UpdateCart() va RemoveCart() metodlari
UpdateCart(List<int>   cartIds,   List<int>   quantities)   metodi   savatchadagi
dorilar   miqdorini   yangilash   uchun   xizmat   qiladi.   Ushbu   metod   joriy
foydalanuvchiga   tegishli   savatcha   elementlarini   tekshiradi   va   har   bir   mahsulot
bo‘yicha yangi miqdorni saqlaydi. O‘zgarishlar ma’lumotlar bazasiga yozilgandan
so‘ng foydalanuvchi savatcha sahifasiga yo‘naltiriladi.
RemoveFromCart(int   id)   metodi   savatchadagi   tanlangan   dorini   o‘chirish
uchun xizmat qiladi. Ushbu metod berilgan   id   bo‘yicha savatcha elementini topib,
16 uni   ma’lumotlar   bazasidan   olib   tashlaydi   va   foydalanuvchini   savatcha   sahifasiga
qaytaradi.
15-rasm. HomeController dagi ProceedToCheckout() metodi
ProceedToCheckout()   metodi   foydalanuvchi   savatchasidagi   dorilarni
buyurtmaga   aylantirish   jarayonini   amalga   oshiradi.   Ushbu   metod   avvalo
savatchadagi   mahsulotlarni   tekshiradi,   so‘ng   har   bir   element   asosida   yangi
buyurtma   yozuvlarini   yaratadi.   Buyurtmalar   saqlangandan   keyin   savatcha
tozalanadi va foydalanuvchi buyurtmalar sahifasiga yo‘naltiriladi.
17 16-rasm. HomeController dagi Order metodi
Order  metodi foydalanuvchining rasmiylashtirilgan buyurtmalarini ko‘rsatish
uchun   xizmat   qiladi.   Ushbu   metod   joriy   foydalanuvchiga   tegishli,   o‘chirilmagan
buyurtmalarni   ma’lumotlar   bazasidan   olib,   ularning   umumiy   summasini
hisoblaydi.   Natijalar   `ViewModel`   orqali   sahifaga   uzatilib,   foydalanuvchiga
buyurtmalar bo‘yicha yakuniy ma’lumot taqdim etiladi.
18 17-rasm. AdminHomeController dagi Index()metodi
Ushbu metod administrator panelining bosh sahifasini ochadi. Sahifa odatda
umumiy statistika va boshqaruv menyularini o‘z ichiga oladi.
18-rasm. AdminHomeController dagi ContactMessege va ViewMessage metodi
Ushbu   metod   foydalanuvchilar   tomonidan   yuborilgan   barcha   aloqa
xabarlarini   ma’lumotlar   bazasidan   oladi.   Xabarlar   yaratilgan   vaqtiga   qarab
kamayish   tartibida   saralanadi,   ya’ni   eng   oxirgi   kelgan   xabarlar   birinchi   bo‘lib
ko‘rsatiladi.   Olingan   ma’lumotlar   View’ga   uzatilib,   administrator   ularni   ko‘rishi
mumkin bo‘ladi.
Bu   metod   tanlangan   xabarni   to‘liq   o‘qish   uchun   xizmat   qiladi.   Berilgan
identifikator   orqali   xabar   ma’lumotlar   bazasidan   topiladi.   Agar   xabar   mavjud
19 bo‘lmasa,   NotFound   javobi   qaytariladi.   Xabar   topilganda   esa   uning   batafsil
ma’lumotlari alohida sahifada ko‘rsatiladi.
Mazkur   metodlar   administratorga   foydalanuvchilardan   kelgan   aloqa
xabarlarini   ko‘rish   va   ularni   alohida   o‘qish   imkonini   beradi.   Bu   tizimda
foydalanuvchilar bilan samarali aloqa o‘rnatishni ta’minlaydi.
Ushbu sahifada Admin foydalanuvchidan kelgan xabarlarni ko‘rishi mumkin
bo‘ladi. Xabarlar adminga yuborilgan vaqt bo‘yicha teskari tartiblanib ko‘rsatiladi
yani eng yangi habarlar adminga birinchida ko‘rinadi.
19-rasm. ProductController dagi CRUD metodlari
AddProduct(int id) – GET metodi. Bu metod tanlangan yangilikni tahrirlash
uchun olib keladi. Agar yangilik topilmasa, xatolik qaytariladi.
20 EditProduct(Product   products)   –   POST   metodi.   Ushbu   metod   yangilik
bo‘yicha o‘zgarishlarni bazaga saqlaydi va yangilangan ro‘yxatni ko‘rsatadi.
20-rasm. ProductController dagi CRUD metodlari
DeleteProduct(int   id)   metodi.   DeleteProduct()   metodi   tanlangan   yangilikni
tizimdan   o‘chiradi.   Bu   orqali   eskirgan   yoki   noto‘g‘ri   yangiliklar   olib   tashlanadi.
Shu   bilan   birga,   metod   ma’lumotlar   bazasidagi   izchillikni   saqlash   va   keraksiz
ma’lumotlarning   ortiqcha   joy   egallashining   oldini   olish   imkonini   beradi.   Bu
CRUD   operatsiyalari   doirasida   tizimning   ma’lumotlarni   boshqarish
samaradorligini   oshiradi   va   foydalanuvchilar   uchun   doimiy   ravishda   yangilangan
kontentni ta’minlaydi.
21 21-rasm. HomeController uchun _Layout.cshtml (1) faylida navigatsiya
panelining (navbar) joylashuvi va Razor konstruksiyalari
_Layout.cshtml   —   bu   saytning   umumiy   shablon   fayli   bo‘lib,   barcha
sahifalarda takrorlanadigan elementlarni (yuqori menyu, navigatsiya paneli, footer,
umumiy dizayn)  bitta  joyda saqlash  uchun  ishlatiladi.  Shu  orqali  saytning  barcha
sahifalarida   bir   xil   ko‘rinish   va   tuzilma   ta’minlanadi   hamda   kodni   qayta-qayta
yozishning oldi olinadi.
Ushbu kod saytning yuqori navigatsiya  panelini yaratadi. Foydalanuvchi  bu
panel orqali asosiy sahifalar, sayohat turlari, xizmatlar, bron qilish, tizimga kirish,
ro‘yxatdan o‘tish, admin panel va chiqish (logout) sahifalariga o‘tishi mumkin.
22-rasm. HomeController uchun _Layout.cshtml (2) faylida asosiy kontent
joylashuvi (@RenderBody), Footer bo‘limlarining tuzilishi
Ushbu   (31-rasmdagi)   bo‘lim   _Layout.cshtml   faylining   asosiy   kontentdan
keyingi qismi bo‘lib, sahifaning markaziy mazmuni, obuna (newsletter) bo‘limi va
footer qismini o‘z ichiga oladi. Bu elementlar barcha sahifalarda bir xil ko‘rinishda
chiqishi uchun umumiy layout tarkibiga joylashtirilgan.
@RenderBody   —   bu   _Layout.cshtml   faylining   eng   muhim   Razor
konstruksiyalaridan  biri   bo‘lib,  har   bir  controller  action’iga  mos   View  sahifaning
22 asosiy   mazmuni   aynan   shu   joyga   yuklanadi.   Ya’ni,   sahifa   o‘zgaradi,   ammo
umumiy dizayn (navbar, footer) o‘zgarmaydi.
asp-controller va asp-action yordamida xizmatlar va sahifalarga dinamik va xavfsiz
havolalar yaratilgan.
Footer menyu orqali foydalanuvchi asosiy sahifalarga tezda o‘ta oladi.
Barcha   sahifalarda   footer   avtomatik   ravishda   ko‘rinadi,   bu   esa   yagona   dizaynni
ta’minlaydi.
23-rasm. HomeController ko‘rinishlari uchun _ViewImports.cshtml fayli
_ViewImports.cshtml   fayli   ASP.NET   Core   MVC   loyihasida   barcha   View
sahifalar uchun umumiy sozlamalarni bir joyda belgilash uchun ishlatiladi. Ushbu
fayl   orqali   Razor   sahifalarda   doimiy   ishlatiladigan   kutubxonalar   va   imkoniyatlar
avtomatik ravishda ulanadi.
@addTagHelper*,   Microsoft.AspNetCore.Mvc.TagHelpers   bu   qatorda
ASP.NET   Core’ning   standart   Tag   Helperlari   faollashtiriladi.   Natijada   asp-
controller,   asp-action,   asp-for,   asp-validation-for   kabi   Razor   imkoniyatlaridan
barcha View fayllarda qo‘shimcha yozmasdan foydalanish mumkin bo‘ladi.
24-rasm. HomeController ko‘rinishlari uchun _ViewStart.cshtml fayli
Ushbu   fayl   barcha   View   sahifalar   uchun   umumiy   bo‘lgan   Layout   faylini
belgilash vazifasini bajaradi. Layout = "_Layout"; ifodasi orqali loyihadagi barcha
sahifalar   avtomatik   ravishda   _Layout.cshtml   shablonidan   foydalanadi.   Natijada
23 saytning   umumiy   dizayni,   menyu,   footer   va   boshqa   umumiy   elementlar   barcha
sahifalarda bir xil ko‘rinishda aks etadi hamda kod takrorlanishining oldi olinadi.
25-rasm. HomeController’ning Product.cshtml sahifasidagi asosiy qismi
Ushbu   bo‘lim   HomeController’ning   Boshsahifa.cshtml   sahifasida
joylashgan   bo‘lib,   asosiy   sahifada   “Products”   qismini   hosil   qiladi.   Modeldan
olingan mahsulotlar ichidan LINQ orqali 4 ta mahsulot chiqariladi.
asp-controller="Home" va asp-action="Product" yordamida foydalanuvchi 
mahsulot nomi yoki rasmini bosganda uning batafsil sahifasiga o‘tadi. “View All 
Products” tugmasi esa Xarid metodiga yo‘naltirib, barcha mahsulotlarni ko‘rsatadi.
24 26-rasm.  HomeController’ning Home sahifasida ma’lumotlarni ko‘rsatilgan
bo‘lim
Mazkur   bo‘lim   EVOS   axborot   tizimining   asosiy   afzalliklarini
foydalanuvchilarga   tushunarli   va   qulay   ko‘rinishda   taqdim   etadi.   Unda   tezkor
yetkazib berish, haftalik chegirmalar hamda keng assortiment kabi muhim jihatlar
aks ettirilgan.
Xizmatlar kartalari orqali foydalanuvchi ombor faoliyatining ishonchliligi va
samaradorligi   haqida   qisqa,   ammo   aniq   tasavvurga   ega   bo‘ladi.   Har   bir   xizmat
alohida   ikonka   va   tushuntiruvchi   matn   bilan   berilgani   sababli   sahifaning   vizual
ko‘rinishi yaxshilanadi va foydalanuvchi e’tiborini jalb qiladi.
27-rasm.  HomeController’ning Order bo‘limi
Ushbu kod Razor View’da yozilgan bo‘lib, foydalanuvchi interfeysida sahifa
yuqori qismida navigatsiya va breadcrumb yaratish uchun xizmat qiladi.  orders  va
hasOrders   o‘zgaruvchilari   buyurtmalar   mavjudligini   tekshirishga   mo‘ljallangan.
HTML   qismi   Bootstrap   grid   tizimi   yordamida   sahifa   bo‘limlarini   tartiblaydi   va
Home   tugmasi   orqali   foydalanuvchi   bosh   sahifaga   qaytishi   mumkin.   Shu   bilan
25 birga,   Tekshiruv   matni   joriy   sahifa   nomini   ko‘rsatib,   foydalanuvchiga   sahifada
qayerda ekanligini tushunishga yordam beradi.
28-rasm.  ContactController’ning Aloqa sahifasida Adminga habar yuborish
bo‘limi
Bu   bo‘limda   foydalanuvchilar   sayt   adminiga   habar   yuborishlari   mumkin
bo‘ladi. ContactController foydalanuvchilar va tizim ma'murlari o'rtasidagi teskari
aloqani   ta'minlashga   xizmat   qiladi.   Ushbu   bo'limda   mijozlar   ContactMessege
modeli   orqali   o'z   takliflari,   shikoyatlari   yoki   savollarini   to'g'ridan-to'g'ri   adminga
yuborishlari mumkin. Yuborilgan xabarlar ma'lumotlar bazasida xavfsiz saqlanadi
va ma'muriyatga real vaqt rejimida ko'rinadi. Bu funksiya EVOS xizmat ko'rsatish
sifatini oshirish va mijozlar bilan doimiy muloqotni yo'lga qo'yishda muhim vosita
hisoblanadi.   Tizim   orqali   kelib   tushgan   murojaatlarni   saralash   va   ularga   tezkor
javob   qaytarish   imkoniyati   yaratilgan.   Xabarlar   bazada   saqlanishi   bilan   birga,
foydalanuvchining   ismi   va   telefon   raqami   ham   qayd   etilib,   bu   ma'muriyatga
26 muammoli vaziyatlarni shaxsan bog'lanib hal qilish imkonini beradi. Ma'lumotlarni
kiritish  jarayonida maxsus  validatsiya tekshiruvlari  qo'llanilgan bo'lib, bu tizimga
noto'g'ri yoki bo'sh xabarlar kelib tushishining oldini oladi.
29-rasm. AdminHomeController yon paneli va Razor linklar yordamida menyu
tuzilishi
Ushbu   kod   AdminHomeController   uchun   _Layout.cshtml   faylining   yon
paneli   (sidebar)   qismini   tashkil   qiladi.   Sidebar   foydalanuvchining   profil
ma’lumotlarini   (rasm,   ism,   status)   ko‘rsatadi   va   admin   menyusini   tartiblaydi.   <a
asp-controller="AdminHome"   asp-action="...">   kabi   Razor   konstruksiyalari
ASP.NET   Core   MVC’da   URL’larni   avtomatik   yaratadi,   shuning   uchun   linklar
controller va action nomlariga mos holda ishlaydi. collapse va sub-menu qismlari
yordamida menyu ichida bo‘limlar ochiladigan ro‘yxat tarzida tashkil qilingan. Bu
kod   foydalanuvchiga   admin   paneldagi   barcha   bo‘limlarga   tezkor   kirish   imkonini
beradi.
27 30-rasm. AdminHomeController uchun ViewImports.cshtml fayli
_ViewImports.cshtml   fayli   Razor   sahifalarida   TagHelper’lar   va   Models
hamda ViewModels klasslarini umumiy ishlatish uchun kerak.
31-rasm. AdminHomeController Index.cshtml statistik bloklari
Bu   kodda   har   bir   col-lg-3   col-md-6   blokida   ViewBag   orqali   uzatilgan
statistik ma’lumotlar bizga taqdim qiladi.
28 32-rasm. Admin panelda yangi Category qo‘shish formasi 
Bu   rasmda   kategoriya   qo‘shish   uchun   form   tasvirlangan   formdan   post
metodi orqali ma’lumotlar db set qilinib bazaga yuklanadi.
 
33-rasm. AdminHomeController Product jadvali
29 Formadagi   asp-for   atributlari   model   bilan   bog‘langan   bo‘lib,   kiritilgan
ma’lumotlar   to‘g‘ridan-to‘g‘ri   Product   modeliga   uzatiladi   va   validatsiya   xatolari
asp-validation-for  orqali ko‘rsatiladi.
34-rasm. Foydalanuvchidan kelgan Aloqa habarlari jadvali
Ushbu sahifada administrator foydalanuvchilar tomonidan yuborilgan barcha
murojaatlarni   yagona   jadval   ko'rinishida   kuzatishi   mumkin.   Tizimda   xabarlar
yuborilgan vaqti bo'yicha avtomatik ravishda teskari tartiblanadi, ya'ni eng so'nggi
va   dolzarb   xabarlar   ro'yxatning   yuqori   qismida   aks   etadi.   Bu   funksiya   adminga
yangi   murojaatlarni   o'tkazib   yubormaslik   va   ularga   birinchilardan   bo'lib   e'tibor
qaratish imkonini beradi. Jadvalda foydalanuvchining ismi, aloqa ma'lumotlari va
xabar   mazmuni   aniq   ko'rsatilgani   sababli,   ma'lumotlarni   tahlil   qilish   jarayoni
sezilarli darajada tezlashadi.
Shuningdek,   ushbu   bo'lim   orqali   mijozlar   bilan   qayta   aloqa   o'rnatish   va
ularning muammolarini tizimli ravishda hal qilish choralari ko'riladi. Xabarlarning
vaqt bo'yicha saralanishi nafaqat qulaylik yaratadi, balki ish unumdorligini oshirib,
vaqtni   tejashga   ham   xizmat   qiladi.   Tizimning   ushbu   qismi   EVOS   brendining
mijozlar   bilan  ishlash   strategiyasini   raqamlashtirishda   muhim   bo'g'in   hisoblanadi.
30 Yakuniy   natijada,   ushbu   sahifa   admin   uchun   barcha   tashqi   aloqalarni   boshqarish
bo'yicha samarali monitoring vositasi vazifasini o'taydi.
31 Loyihadan foydalanish bo‘yicha ko‘rsatma
Ushbu   loyiha   ASP.NET   Core   MVC   texnologiyasi   asosida   ishlab   chiqilgan.
Loyihani ishga tushirish uchun Visual Studio dasturida loyiha ochiladi va Run (IIS
Express) tugmasi bosiladi. Shundan so‘ng loyiha brauzerda ishga tushadi va asosiy
sahifa ochiladi.
35-rasm. Asosiy sahifa.
Bu   rasm   web   sahifamizning   asosiy   korinishi   hisoblanadi.   Unda   yuqori
qismida navbarlarimiz joylashgan bu bizga sahifadan sahifaga tez o‘tish imkonini
beradi.   Shop   now   tugmasini   bosganimizda   sahifa   bizni   to‘g‘ridan   to‘g‘ri   home
panelga yuboradi.
36-rasm. Yangiliklar sahifasi
32 Ushbu   sahifada   biz   sayt   haqidagi   barcha   malumotlarni   bilib   olsak   bo‘ladi.
Bundan   tashqari   barcha   yangilaiklar   ham   shu   sahifada   e’lon   qilinadi,   masalan
haftalik   chegirmalar,   yetkazib   berish   haqida   ma’lumot   hamda   eng   ko‘p   sotilgan
mahsulotlar haqida bilib olish mumkin.
37-rasm. Products sahifasi
Products   sahifasi   foydalanuvchilarga   EVOS   tarmog'idagi   barcha   mavjud
mahsulotlar   va   xomashyolar   bilan   tanishish   imkonini   beruvchi   asosiy   platforma
hisoblanadi. Ushbu sahifada mahsulotlar ro'yxati vizual tarzda tartiblangan bo'lib,
har   bir   mahsulotning   nomi,   joriy   narxi   va   sifatli   tasviri   aks   ettirilgan.   Tizimning
ushbu   bo'limi   foydalanuvchi   uchun   tushunarli   va   sodda   interfeysga   ega   bo'lib,
33 mahsulotlar   haqidagi   birlamchi   ma'lumotlarni   tezkor   ko'zdan   kechirishga   xizmat
qiladi.
38-rasm. Biz bilan aloqa sahifasi
Biz   bilan   aloqa   sahifasida   foydalanuvchilar   adminga   habar   yuborishlari
mumkin boladi va uning qayetda joylashganini bilib olish imkonini ham beradi.
39-rasm. Admin panel ko‘rinishi
Admin   panel   bizda   saytni   boshqarishga   imkon   beradi.   Biz   bu   panelda
modellarimiz ustida CRUD amallarini bajarishimiz mumkin bo‘ladi.
34 40-rasm. Kategoriya jadvali
Kategoriya   jadvalida   biz   ketegoriya   haqidagi   ma’lumotlarni   ko‘rishimiz,
o‘zgartrishimiz,   o‘chirishimiz   va   yangi   kategoriya   qo‘shishimiz   mumkin   bo‘ladi.
Biz bularni quyida 54-55 rasmlarda ko‘rishimiz mumkin bo‘ladi.
41-rasm. Mahsulot jadvali 
Mahsulot   jadvalida   biz   dorilar   haqidagi   ma’lumotlarni   ko‘rishimiz,
o‘zgartrishimiz,   o‘chirishimiz   va   yangi   guruh   qo‘shishimiz   mumkin   bo‘ladi.   Biz
bularni quyida 56- rasmda ko‘rishimiz mumkin bo‘ladi.
35 42-rasm. Mahsulot ma’lumotlarini o‘zgartirish sahifasi
43-rasm. Kelgan xabarlar sahifasi
36 Ushbu sahifada Admin foydalanuvchidan kelgan xabarlarni ko‘rishi mumkin
bo‘ladi. Xabarlar adminga yuborilgan vaqt bo‘yicha teskari tartiblanib ko‘rsatiladi
yani eng yangi habarlar adminga birinchida ko‘rinadi.
44-rasm. Xabarlarni o‘qish sahifasi
Bu   sahifadada   admin   foydalanuvchi   yuborgan   habarni   batafsil   o‘qish
huquqiga ega bo‘ladi.
37 Xulosa
Mazkur   ishda   EVOS   fast-food   tarmog'i   omborxonalar   faoliyatini
avtomatlashtirishga   mo'ljallangan   axborot   tizimini   loyihalash   va   ishlab   chiqish
masalalari ko'rib chiqildi. Tadqiqot davomida zamonaviy axborot-kommunikatsiya
texnologiyalarining   umumiy   ovqatlanish   logistikasidagi   ahamiyati   tahlil   qilinib,
xomashyo   va   mahsulotlarni   hisobga   olish   hamda   filiallararo   taqsimlash
jarayonlarini raqamlashtirish zarurligi asoslab Berildi.
Ish jarayonida EVOS ombor tizimining tuzilmasi ishlab chiqildi, ma'lumotlar
bazasi modellari (Product,   Branch,   Order, ApplicationUser) yaratildi hamda MVC
(Model–View–Controller) arxitekturasiga asoslangan dasturiy yechim taklif etildi.
Ushbu   yondashuv   tizimning   ishonchliligi,   foydalanuvchi   uchun   qulayligi   va
tarmoq   kengaygan   sari   tizimni   masshtablashtirish   imkoniyatlarini   ta'minlashga
xizmat   qiladi.   Tizim   orqali   mahsulotlarning   kirim-chiqimi,   filiallar   ehtiyoji,
qoldiqlar   holati   va   yetkazib   beruvchilar   haqidagi   ma'lumotlarni   yagona
platformada boshqarish imkoniyati yaratildi.
Amaliy   natijalar   shuni   ko'rsatdiki,   ishlab   chiqilgan   axborot   tizimi   EVOS
logistika   markazlarida   hisob-kitob   ishlarini   soddalashtiradi,   inson   omiliga   bog'liq
xatoliklarni   kamaytiradi   va   mahsulotlarning   yaroqlilik   muddatini   nazorat   qilish
tezligini   oshiradi.   Natijada   ombor   faoliyatining   umumiy   samaradorligi   oshib,
filiallarni xomashyo bilan uzluksiz ta'minlash va boshqaruv qarorlarini qabul qilish
jarayoni yanada aniq va tezkor bo'ladi.
Xulosa   qilib   aytganda,   mazkur   axborot   tizimi   loyihasi   fast-food   tarmog'i
faoliyatini   zamonaviy   talablar   asosida   tashkil   etish   uchun   muhim   amaliy
ahamiyatga ega bo'lib, uni real ishlab chiqarish va logistika jarayonlarida qo'llash
mumkin. Kelgusida tizimni yanada takomillashtirish, jumladan, tahliliy hisobotlar
modulini   kengaytirish,   kuryerlar   uchun   mobil   ilova   bilan   integratsiya   qilish   va
ma'lumotlar   xavfsizligini   oshirish   orqali   uning   funksional   imkoniyatlarini   yanada
rivojlantirish maqsadga muvofiqdir.
38 Foydalanilgan adabiyotlar
1. Hakimov M.X., Gaynazarov S.M. Berilganlar bazasini boshqarish tizimlari.
Darslik. – Toshkent: Fan va texnologiyalar, 2021. – 672 bet.
2. Hakimov   M.X.   Axborot   tizimlarini   loyihalash   (tamoyil   va   amaliyot).
Darslik. – Toshkent: Ma’rifat, 2024. – 424 bet.
3. Qodirov   A.,   Xudoyberganov   B.   Axborot   tizimlari   va   texnologiyalari.   –
Toshkent: O‘qituvchi, 2020.
4. Raxmonov   D.Sh.   Dasturiy   ta’minot   injiniringi   asoslari.   –   Toshkent:   Fan,
2019.
5. Abdullayev   A.A.   Ma’lumotlar   bazalarini   loyihalash.   –   Toshkent:
Innovatsiya, 2022.
6. Sattorov   N.   Web-ilovalarni   loyihalash   va   ishlab   chiqish.   –   Toshkent:
Ma’rifat, 2021.
Internet saytlari:
7. https://www.free-css.com   
8. https://www.entityframeworktutorial.net/   
39

MUNDARIJA

Kirish

Loyiha modelni shakllantirish

Loyiha kontroller va ko‘rinishlarini yaratish

Loyihadan foydalanish bo‘yicha ko‘rsatma

Xulosa

Foydalanilgan adabiyotlar