🎯 Why use DTO (Data Transfer Object)?
Ko‘pchilik Requestni to‘g‘ridan-to‘g‘ri modelga uzatadi:
Bu kichik loyihada ishlaydi. Lekin loyihangiz o‘sgan sayin validation, authorization, transformatsiya, mapping — hammasi Controllerda aralashib ketadi.
🔄 DTO yordamida esa:
1) request'dan faqat kerakli ma'lumot ajratiladi
2) typelar aniq bo‘ladi (misol: string $email, Carbon $birthday)
3) Service yoki Action klasslarga toza data uzatiladi
📦 DTO — kod arxitekturasini modular va testga qulay qiladi.
Controller faqat data qabul qiluvchi, service esa ish bajaruvchi bo‘ladi.
#Laravel #BestPractice #CleanCode
Ko‘pchilik Requestni to‘g‘ridan-to‘g‘ri modelga uzatadi:
User::create($request->validated());
Bu kichik loyihada ishlaydi. Lekin loyihangiz o‘sgan sayin validation, authorization, transformatsiya, mapping — hammasi Controllerda aralashib ketadi.
🔄 DTO yordamida esa:
1) request'dan faqat kerakli ma'lumot ajratiladi
2) typelar aniq bo‘ladi (misol: string $email, Carbon $birthday)
3) Service yoki Action klasslarga toza data uzatiladi
$userDto = new CreateUserDTO(
name: $request->name,
email: $request->email,
birthday: Carbon::parse($request->birthday)
);
$this->userService->create($userDto);
📦 DTO — kod arxitekturasini modular va testga qulay qiladi.
Controller faqat data qabul qiluvchi, service esa ish bajaruvchi bo‘ladi.
#Laravel #BestPractice #CleanCode
👍4🔥3
#laravel #tutorial #best_practice #api_versioning
Assalomu Alaykum 👋
Laravel API Versioning ✅
Bu yo'l bilan professional dasturchi bo'ling 📈
https://youtu.be/FCwLE1z_RAY?si=Vip7comLNRPAlPxk
Assalomu Alaykum 👋
Laravel API Versioning ✅
Bu yo'l bilan professional dasturchi bo'ling 📈
https://youtu.be/FCwLE1z_RAY?si=Vip7comLNRPAlPxk
YouTube
Laravel API Versioning #laravel #php #bestpractice #azizdev
Laravel API Versioning - Best Practice
Github Repo: https://github.com/azizdevfull/api-versioning
Telegram kanal: https://t.me/azizdevfull
Github Repo: https://github.com/azizdevfull/api-versioning
Telegram kanal: https://t.me/azizdevfull
🔥4
#laravel #tutorial #best_practice #db #transaction
Assalomu Alaykum 👋
Laravel DB Transaction ✅
Bu yo'l bilan professional dasturchi bo'ling 📈
https://youtu.be/p_VloJETnV0?si=r1QzdfnrEW2E1ZHC
Assalomu Alaykum 👋
Laravel DB Transaction ✅
Bu yo'l bilan professional dasturchi bo'ling 📈
https://youtu.be/p_VloJETnV0?si=r1QzdfnrEW2E1ZHC
YouTube
Laravel DB Transaction #laravel #php #bestpractice #azizdev
Laravel DB transaction - Best Practice
Github Repo: https://github.com/azizdevfull/db-transaction.git
Telegram kanal: https://t.me/azizdevfull
Github Repo: https://github.com/azizdevfull/db-transaction.git
Telegram kanal: https://t.me/azizdevfull
🔥5
https://youtube.com/shorts/fvUGM7JlFt4?si=8xCoZSXXMePdGPEI
✨ Men o‘zim haqimda kam gapiraman,
📽 ammo bu videoda Azizdevning qanday paydo bo‘lgani,
🌱 uning o‘sishi va yo‘l boshlashi haqida barcha haqiqatlar mavjud.
#Azizdev #Birth #History
✨ Men o‘zim haqimda kam gapiraman,
📽 ammo bu videoda Azizdevning qanday paydo bo‘lgani,
🌱 uning o‘sishi va yo‘l boshlashi haqida barcha haqiqatlar mavjud.
#Azizdev #Birth #History
YouTube
Men haqimda #aboutme #survivor #friends #azizdev #birthofdragon
“Boshida ko‘chirganman. Oxirida birinchi bo‘ldim.”IT Akademiyada o‘qishni boshlaganimda, sinfdoshim bilan birga yaxshi ketayotgan edik. HTML, CSS, JavaScript...
🔥4👍1🤯1
Assalomu Alaykum, barchaga!
Xudo xohlasa, ertaga 1 oylik harbiy xizmatga yo‘l olaman.
Lekin yaqinda yangilik chiqdi — endi 1 oylik emas, 3 oylik harbiy xizmat bo‘lib qolarkan. Iyul yoki sentabrdan kuchga kiradi deyishdi, shuning uchun imkon borida erta borishga qaror qildim.
Barcha duolaringizni kutaman!
Tez orada sog‘-salomat qaytaman, silar bilan — Oddiy askar Azizbek 💪🇺🇿
P.S. Sizlarga ham maslahat — imkoniyat bo‘lsa, 1 oylik bo‘lgan paytda borib oling 🙂
Xudo xohlasa, ertaga 1 oylik harbiy xizmatga yo‘l olaman.
Lekin yaqinda yangilik chiqdi — endi 1 oylik emas, 3 oylik harbiy xizmat bo‘lib qolarkan. Iyul yoki sentabrdan kuchga kiradi deyishdi, shuning uchun imkon borida erta borishga qaror qildim.
Barcha duolaringizni kutaman!
Tez orada sog‘-salomat qaytaman, silar bilan — Oddiy askar Azizbek 💪🇺🇿
P.S. Sizlarga ham maslahat — imkoniyat bo‘lsa, 1 oylik bo‘lgan paytda borib oling 🙂
❤9🔥4😱1
🧩 Laravel Lifehack:
📦 Muammo:
API response'da har doim barcha field'larni chiqarish shart emas. Ba'zilarini ma’lum holatdagina chiqarish kerak bo‘ladi (masalan: admin bo‘lsa, ko‘rsatilsin).
📌 when() 2 ta parametr oladi:
Shart (boolean)
Qiymat (agar shart true bo‘lsa, shu qiymat qo‘shiladi)
🎯 Foyda:
Kodingiz toza bo‘ladi
API response ixcham
Performance yaxshilanadi
#laravel #api #resource #azizdev #php #lifehack
$this->when() bilan shartli qiymatlar qo‘shing!📦 Muammo:
API response'da har doim barcha field'larni chiqarish shart emas. Ba'zilarini ma’lum holatdagina chiqarish kerak bo‘ladi (masalan: admin bo‘lsa, ko‘rsatilsin).
📌 when() 2 ta parametr oladi:
Shart (boolean)
Qiymat (agar shart true bo‘lsa, shu qiymat qo‘shiladi)
🎯 Foyda:
Kodingiz toza bo‘ladi
API response ixcham
Performance yaxshilanadi
#laravel #api #resource #azizdev #php #lifehack
🔥7
🎬 YANGI VIDEO TEZ ORADA!
AzeMe – bu Payme integratsiyasini yuridik shaxssiz o‘rganish imkonini beradigan sandbox clone. 👨🏻💻
Shorts videosini ko‘ring mazza qilib kuling 😄📈:
👉 https://youtube.com/shorts/LPxSzukigx0?feature=share
📌 To‘liq video bugun soat 17:00 da YouTube kanalda chiqadi. Laravel orqali AzeMe bilan qanday to‘lov tizimi integratsiyasi qilish haqida
AzeMe – bu Payme integratsiyasini yuridik shaxssiz o‘rganish imkonini beradigan sandbox clone. 👨🏻💻
Shorts videosini ko‘ring mazza qilib kuling 😄📈:
👉 https://youtube.com/shorts/LPxSzukigx0?feature=share
📌 To‘liq video bugun soat 17:00 da YouTube kanalda chiqadi. Laravel orqali AzeMe bilan qanday to‘lov tizimi integratsiyasi qilish haqida
YouTube
AzeMe x Payme Integratsiyasini O‘rganing Yuridik Shaxssiz! (Laravel bilan to‘liq qo‘llanma)
AzeMe – bu Payme Sandbox’ning klon versiyasi bo‘lib, yuridik shaxs bo‘lmasdan ham to‘lov tizimlari bilan ishlashni o‘rganish imkonini beradi. Endi siz Larave...
🔥6👍3
Laravel bilan Payme integratsiyasini o‘rganmoqchimisiz, lekin yuridik shaxssiz imkon yo‘q deb o‘ylayapsizmi? ❌
✅ Endi bu muammo emas — AzeMe yordamida siz payme-ni real amaliyotda test qilishingiz mumkin!
🎥 YouTube: https://youtu.be/W8ykXWrRLtI?si=6QLYKtHizXTbgWHq
⚡️ Laravel, backend va payment integratsiya bilan qiziqqanlar uchun ayni kerakli dars!
📈 To‘liq videoni ko‘rsangiz, sizni kutayotgan montajlar, dinamik editlar va energiyali uslub kayfiyatingizni ko‘taradi!
Shunchaki o‘rganish emas — ilhomlanish, motivatsiya va zavq ham bor! 🔥
#azeme #payme #laravel #dasturchilar #azizdev #azizdevfull #backenddeveloper #paymentintegration
✅ Endi bu muammo emas — AzeMe yordamida siz payme-ni real amaliyotda test qilishingiz mumkin!
🎥 YouTube: https://youtu.be/W8ykXWrRLtI?si=6QLYKtHizXTbgWHq
⚡️ Laravel, backend va payment integratsiya bilan qiziqqanlar uchun ayni kerakli dars!
📈 To‘liq videoni ko‘rsangiz, sizni kutayotgan montajlar, dinamik editlar va energiyali uslub kayfiyatingizni ko‘taradi!
Shunchaki o‘rganish emas — ilhomlanish, motivatsiya va zavq ham bor! 🔥
#azeme #payme #laravel #dasturchilar #azizdev #azizdevfull #backenddeveloper #paymentintegration
YouTube
AzeMe x Payme Integratsiyasini O‘rganing Yuridik Shaxssiz! (Laravel bilan to‘liq qo‘llanma)
AzeMe – bu Payme Sandbox’ning klon versiyasi bo‘lib, yuridik shaxs bo‘lmasdan ham to‘lov tizimlari bilan ishlashni o‘rganish imkonini beradi. Endi siz Laravel yoki boshqa backend texnologiyalarda Payme integratsiyasini amaliyotda test qilish imkoniga egasiz!…
🔥4👍1
🗝 Laravel’da APP_KEY nima o‘zi va nima uchun kerak?
Ko‘pchilik
Keling, Laravel’dagi APP_KEY haqida sodda va tushunarli qilib tushuntiramiz:
📌 APP_KEY bu nima?
🔐 shifrlash (encrypt) va
🔓 ochish (decrypt) uchun ishlatiladigan asosiy maxfiy kalit.
U
🔐 U nimani shifrlaydi?
❗️ Session ma’lumotlari (agar
❗️
❗️ Shifrlangan tokenlar (signed URLs, email verification, reset password links)
🚫 Parollar emas — ular
⚠️ APP_KEY yo‘q yoki noto‘g‘ri bo‘lsa:
❌ Laravel ma’lumotlarni ochishda xatolik beradi
❌ Session ishlamaydi
❌ Signed URL’lar ishdan chiqadi
❌ Ilova umuman o‘chib qolishi mumkin
🚨 Xavfsizlik nuqtayi nazaridan:
🔒 APP_KEY hech qachon GitHub’ga tushmasligi kerak!
🕵️♂️ Sizib chiqqan bo‘lsa — xuddi eshik kalitingiz yo‘qolgandek:
➡️ Darhol yangisini yarating!
➡️ Barcha tokenlarni bekor qiling!
✅ Xulosa:
Uni ehtiyot qiling, himoyalang, va hech qachon Git’da saqlamang!
#Laravel #SecurityTips #LaravelTips
Ko‘pchilik
.env faylida APP_KEY ni ko‘radi, lekin uning asl vazifasini chuqur tushunmaydi.Keling, Laravel’dagi APP_KEY haqida sodda va tushunarli qilib tushuntiramiz:
📌 APP_KEY bu nima?
APP_KEY — bu Laravel ilovangizda ma’lumotlarni🔐 shifrlash (encrypt) va
🔓 ochish (decrypt) uchun ishlatiladigan asosiy maxfiy kalit.
U
config/app.php faylida saqlanadi.🔐 U nimani shifrlaydi?
❗️ Session ma’lumotlari (agar
SESSION_DRIVER=cookie bo‘lsa — albatta muhim)❗️
Crypt::encrypt() va decrypt() funksiyalari orqali yuboriladigan ma’lumotlar❗️ Shifrlangan tokenlar (signed URLs, email verification, reset password links)
🚫 Parollar emas — ular
bcrypt bilan hashlanadi⚠️ APP_KEY yo‘q yoki noto‘g‘ri bo‘lsa:
❌ Laravel ma’lumotlarni ochishda xatolik beradi
❌ Session ishlamaydi
❌ Signed URL’lar ishdan chiqadi
❌ Ilova umuman o‘chib qolishi mumkin
🚨 Xavfsizlik nuqtayi nazaridan:
🔒 APP_KEY hech qachon GitHub’ga tushmasligi kerak!
🕵️♂️ Sizib chiqqan bo‘lsa — xuddi eshik kalitingiz yo‘qolgandek:
➡️ Darhol yangisini yarating!
➡️ Barcha tokenlarni bekor qiling!
✅ Xulosa:
APP_KEY — bu Laravel ilovangizning yuragi ❤️Uni ehtiyot qiling, himoyalang, va hech qachon Git’da saqlamang!
Laravel’da xavfsizlik shu kalitdan boshlanadi 💡
#Laravel #SecurityTips #LaravelTips
🔥7
💻 21 yil oldin DHH (David Heinemeier Hansson) dunyoga
O‘shandan beri Ruby on Rails butun dunyo bo‘ylab minglab kompaniyalar uchun asos bo‘ldi, cheksiz dasturchilar tomonidan qo‘llab-quvvatlandi va o‘zining asosiy qadriyatlari — soddalik, nafislik va unumdorlik — ga sodiq qolib keldi.
📅 Asl e’lon (24-iyul, 2004):
https://rubytalk.org/t/ann-rails-0-5-0-the-end-of-vaporware/12744/1
Nega buni post qilyapman?
Sababi —
#rails #laravel #legacy
Rails’ning birinchi versiyasi — v0.5.0 ni taqdim etdi va shu so‘zlarni aytdi: "Bu loyiha omma oldida o‘sib boradi."U yanglishmadi.
O‘shandan beri Ruby on Rails butun dunyo bo‘ylab minglab kompaniyalar uchun asos bo‘ldi, cheksiz dasturchilar tomonidan qo‘llab-quvvatlandi va o‘zining asosiy qadriyatlari — soddalik, nafislik va unumdorlik — ga sodiq qolib keldi.
Rails 0.5.0 chiqishi bilan "havoda qolgan g‘oyalar" davri tugadi va veb-dasturlashning yangi davri boshlandi.
📅 Asl e’lon (24-iyul, 2004):
https://rubytalk.org/t/ann-rails-0-5-0-the-end-of-vaporware/12744/1
Nega buni post qilyapman?
Sababi —
Laravel (bugungi kunda PHP olamidagi eng mashhur frameworklardan biri) asosan Rails’ning falsafasi va g‘oyalaridan ilhomlanib yaratilgan. Shuning uchun biz foydalanayotgan Laravel ham aslida Rails’ning ta’sirida paydo bo‘lgan meros.#rails #laravel #legacy
Ruby Mailing List Mirror
[ANN] Rails 0.5.0: The end of vaporware!
I’ve been talking (and hyping) Rails for so long that it’s all wierd to finally have it out in the open. Mind you, we’re still not talking about a 1.0 release, but the package currently on offer is still something I’m very comfortable to share with the world.…
🔥7
🎯 Deadline bu shunchaki vaqt emas — bu ishonch!
Dasturchilar ko‘pincha deadline asosida ishlashadi. Ammo, afsuski, ayrimlar bor: deadline oladi, lekin uni bajarmaydi. Kechikish sabablari esa arzimas — bir qaraganda oddiy bahonalar, lekin bu holat takror va takror davom etadi.
💥 Endi bir haqiqatni aytay: agar siz freelancer bo‘lsangiz, yoki biror mijoz uchun loyihani bajarayotgan bo‘lsangiz, deadline siz va mijoz o‘rtasidagi ishonchning mezoni bo‘ladi. Vaqtida tugatilmagan ish:
1) mijozning noroziligiga sabab bo‘ladi,
2) siz haqingizda salbiy fikr shakllantiradi,
3) va eng yomoni — sizni boshqalarga tavsiya qilmaydi.
Buning ustiga, mijozning biznesi kechikadi, obro‘si tushadi — siz esa bevosita bunga sababchiga aylanasiz. Hatto, bu holatda jarimaga tortilishingiz ham mumkin.
😶🌫️ Bir daqiqa tasavvur qilib ko‘ring:
Agar deadline — hayotingizdagi oxirgi kun bo‘lsa-chi?
Agar shu ishni topshirmasangiz, o‘lim kutayotgan bo‘lsa?
Katta ehtimol bilan siz barcha bahonalarni unutib, ishni vaqtida va mukammal bajarardingiz, to‘g‘rimi?
Shunday ekan, muammo vazifada emas — o‘zimizda.
Qila olamiz, lekin qilmaymiz.
Bahona topamiz, lekin yechim topmaymiz.
🧠 Balki, uyg‘onish vaqti kelgandir?
Mas’uliyatli bo‘lish — bu professional bo‘lishning ajralmas qismi.
Deadline bu sizni ushlab turuvchi zanjir emas — bu sizni tartibga soluvchi tayanch.
Dasturchilar ko‘pincha deadline asosida ishlashadi. Ammo, afsuski, ayrimlar bor: deadline oladi, lekin uni bajarmaydi. Kechikish sabablari esa arzimas — bir qaraganda oddiy bahonalar, lekin bu holat takror va takror davom etadi.
💥 Endi bir haqiqatni aytay: agar siz freelancer bo‘lsangiz, yoki biror mijoz uchun loyihani bajarayotgan bo‘lsangiz, deadline siz va mijoz o‘rtasidagi ishonchning mezoni bo‘ladi. Vaqtida tugatilmagan ish:
1) mijozning noroziligiga sabab bo‘ladi,
2) siz haqingizda salbiy fikr shakllantiradi,
3) va eng yomoni — sizni boshqalarga tavsiya qilmaydi.
Buning ustiga, mijozning biznesi kechikadi, obro‘si tushadi — siz esa bevosita bunga sababchiga aylanasiz. Hatto, bu holatda jarimaga tortilishingiz ham mumkin.
😶🌫️ Bir daqiqa tasavvur qilib ko‘ring:
Agar deadline — hayotingizdagi oxirgi kun bo‘lsa-chi?
Agar shu ishni topshirmasangiz, o‘lim kutayotgan bo‘lsa?
Katta ehtimol bilan siz barcha bahonalarni unutib, ishni vaqtida va mukammal bajarardingiz, to‘g‘rimi?
Shunday ekan, muammo vazifada emas — o‘zimizda.
Qila olamiz, lekin qilmaymiz.
Bahona topamiz, lekin yechim topmaymiz.
🧠 Balki, uyg‘onish vaqti kelgandir?
Mas’uliyatli bo‘lish — bu professional bo‘lishning ajralmas qismi.
Deadline bu sizni ushlab turuvchi zanjir emas — bu sizni tartibga soluvchi tayanch.
🔥7👍1
💡 Laravel’da
Laravel loyihasida dev muhitini ishga tushirish uchun odatda bir nechta terminal ochib, har birida alohida buyruqlar yozamiz:
Bu vaqt oladi va biroz chalkash.
Yechim: composer.json ichidagi scripts bo‘limiga o‘zingiz xohlagan buyruqlarni qo‘shing 👇
Endi faqat bitta buyruq yetarli:
✅ Barcha servislar parallel ishlaydi
✅ Birgina terminal yetarli
✅ Dev muhitini ishga tushirish tezlashadi
📌 Fact: Rails da bor edi bu avval;
#laravel #bestPractice #lifehack
composer run dev bilan bir nechta buyruqlarni bitta terminalda ishga tushirishLaravel loyihasida dev muhitini ishga tushirish uchun odatda bir nechta terminal ochib, har birida alohida buyruqlar yozamiz:
php artisan serve
npm run dev
php artisan queue:work
Bu vaqt oladi va biroz chalkash.
Yechim: composer.json ichidagi scripts bo‘limiga o‘zingiz xohlagan buyruqlarni qo‘shing 👇
"dev": [
"Composer\\Config::disableProcessTimeout",
"npx concurrently -c \"#93c5fd,#c4b5fd,#fb7185,#fdba74\" \"php artisan serve\" \"php artisan reverb:start --debug\" \"php artisan queue:listen --tries=1 --queue=default,notifications\" \"npm run dev\" --names=server,reverb,queue,vite"
]
Endi faqat bitta buyruq yetarli:
composer run dev
✅ Barcha servislar parallel ishlaydi
✅ Birgina terminal yetarli
✅ Dev muhitini ishga tushirish tezlashadi
📌 Fact: Rails da bor edi bu avval;
bin/dev#laravel #bestPractice #lifehack
🔥6👍3
🔥 Laravel’da iSeed paketi — mavjud db dagi malumotlardan seeder yaratib beruvchi qulay vosita
Odatda biz seeder yozayotganda qo‘l bilan insert array’larini yozamiz. Bu kichkina jadvallar uchun oson, lekin katta bazada juda ko‘p vaqt oladi.
🔹 iSeed bu ishni avtomatlashtiradi. U sizning ma’lumotlar bazasidagi jadvalni olib, avtomatik seeder faylini yaratadi.
👉 Masalan:
➡️
Bir nechta jadval uchun:
Hamma jadval uchun (hech narsa bermasangiz):
🚀 Endi siz ishlab turgan loyihadagi real ma’lumotlarni osongina boshqa bazaga yoki test muhiti uchun ko‘chirishingiz mumkin.
📦 O‘rnatish juda oddiy.
#laravel #bestPractice #lifehack
Odatda biz seeder yozayotganda qo‘l bilan insert array’larini yozamiz. Bu kichkina jadvallar uchun oson, lekin katta bazada juda ko‘p vaqt oladi.
🔹 iSeed bu ishni avtomatlashtiradi. U sizning ma’lumotlar bazasidagi jadvalni olib, avtomatik seeder faylini yaratadi.
👉 Masalan:
php artisan iseed users
➡️
database/seeders/UsersTableSeeder.php faylini yaratadi, ichida tayyor insert kod bo‘ladi.Bir nechta jadval uchun:
php artisan iseed users,orders,products
Hamma jadval uchun (hech narsa bermasangiz):
php artisan iseed
🚀 Endi siz ishlab turgan loyihadagi real ma’lumotlarni osongina boshqa bazaga yoki test muhiti uchun ko‘chirishingiz mumkin.
📦 O‘rnatish juda oddiy.
composer require orangehill/iseed
#laravel #bestPractice #lifehack
🔥6
🚀 Laravel’da katta hajmdagi ma’lumotlarni tez eksport qilish
Ko‘p miqdordagi yozuvlarni Excel’ga chiqarish kerak bo‘lsa, oddiy Excel paketlari ko‘p xotira va vaqt talab qiladi.
rap2hpoutre/fast-excel esa:
⚡️ 10 000 ta yozuvni 2–3 soniyada eksport qiladi
💾 Xotiradan atigi ~3 MB ishlatadi
🔥 Juda yengil va tezkor
Backend’da tezlik va samaradorlik muhim bo‘lsa — eng to‘g‘ri tanlov.
👉 Tavsiya etaman:
#laravel #bestPractice #lifehack
Ko‘p miqdordagi yozuvlarni Excel’ga chiqarish kerak bo‘lsa, oddiy Excel paketlari ko‘p xotira va vaqt talab qiladi.
rap2hpoutre/fast-excel esa:
💾 Xotiradan atigi ~3 MB ishlatadi
Backend’da tezlik va samaradorlik muhim bo‘lsa — eng to‘g‘ri tanlov.
👉 Tavsiya etaman:
rap2hpoutre/fast-excel#laravel #bestPractice #lifehack
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10
Media is too big
VIEW IN TELEGRAM
Bir kashfiyot qildim qiziq xechkim qimagan narsa : )
Instagram
😁11👍2🤯1😱1
🎉 Mustaqillik — bizning eng katta boyligimiz!
Bugun O‘zbekiston mustaqillikka erishganiga 34 yil bo‘ldi.
Barchangizni ushbu qutlug‘ bayram bilan tabriklayman! 🇺🇿❤️
Bugun O‘zbekiston mustaqillikka erishganiga 34 yil bo‘ldi.
Barchangizni ushbu qutlug‘ bayram bilan tabriklayman! 🇺🇿❤️
🎉5🔥1