[{"data":1,"prerenderedAt":1999},["ShallowReactive",2],{"projects:uz:all:":3,"projects:uz:featured:":1565,"experience:uz":1925},[4,223,396,526,621,762,899,1007,1108,1181,1256,1391,1437,1484,1525],{"id":5,"title":6,"body":7,"company":175,"confidential":176,"cover":177,"description":178,"extension":179,"featured":176,"gallery":180,"links":190,"meta":191,"metrics":192,"navigation":176,"order":202,"path":203,"role":204,"seo":205,"stack":206,"stem":220,"year":221,"__hash__":222},"projects_uz\u002Fwork\u002Fdyzlix.md","Dyzlix — Smart Fuel System",{"type":8,"value":9,"toc":167},"minimark",[10,15,19,23,30,80,83,86,127,131],[11,12,14],"h2",{"id":13},"mahsulot","Mahsulot",[16,17,18],"p",{},"Yoqilg‘i — yuk tashish kompaniyasining eng katta xarajatlaridan biri. Dyzlix marshrut, narx va mavjudlik bo‘yicha eng yaxshi yoqilg‘i shoxobchalarini tavsiya qiladi. Booker’lar ularni haydovchilarga biriktiradi, karta tranzaksiyalari (EFS \u002F Relay) bronlar bilan solishtiriladi, menejerlar esa tejash, MPG va idling’ni bitta dashboard’da ko‘radi.",[11,20,22],{"id":21},"mening-rolim","Mening rolim",[16,24,25,29],{},[26,27,28],"strong",{},"Dyzlix frontendini noldan o‘zim qurganman va uni to‘liq boshqaraman."," Kod bazasini 2024-yil oktyabrida boshladim va uning atrofidagi hamma narsani o‘zim sozladim:",[31,32,33,45,62,68,74],"ul",{},[34,35,36,39,40,44],"li",{},[26,37,38],{},"Arxitektura"," — ",[41,42,43],"code",{},"app → pages → modules → shared"," qatlamli tuzilmasi, ma’lumot oqimi qoidalari va har bir feature amal qiladigan modul shabloni.",[34,46,47,54,55],{},[48,49,50,53],"if-backend",{},[26,51,52],{},"Infratuzilma"," — Vite build, TypeScript konfiguratsiyasi, staging va production uchun nginx orqali xizmat ko‘rsatuvchi multi-stage Docker image’lar, environment boshqaruvi va reliz versiyalash."," ",[48,56,58,61],{":off":57},"true",[26,59,60],{},"Build sozlamalari"," — Vite build, TypeScript konfiguratsiyasi, environment boshqaruvi va reliz versiyalash.",[34,63,64,67],{},[26,65,66],{},"Dasturchi tajribasi va sifat"," — ESLint va Prettier, Conventional Commits, type-check, design-token, import chegaralari va bundle byudjeti darvozalariga ega git hook’lar, unit testlar va Playwright smoke harness.",[34,69,70,73],{},[26,71,72],{},"Dizayn tizimi"," — umumiy UI kit, design tokenlar va qorong‘i mavzu.",[34,75,76,79],{},[26,77,78],{},"Funksiyalar"," — mahsulotning katta qismi: dashboard, Fuel Book, jonli tracking board, kartalar, tranzaksiyalar, idling, huquqlar va sozlamalar.",[16,81,82],{},"Bugun men kod bazasining asosiy muallifiman (1 100+ commit) va yangi funksiyalar qanday qurilishi bo‘yicha asosiy mas’ulman.",[11,84,38],{"id":85},"arxitektura",[31,87,88,101,111,121],{},[34,89,90,39,93,95,96,100],{},[26,91,92],{},"Qatlamli tuzilma",[41,94,43],{},", Feature-Sliced Design’ga yaqin. Boundaries skripti import yo‘nalishini nazorat qiladi va faqat ",[97,98,99],"em",{},"yangi"," buzilishlarda xato beradi.",[34,102,103,106,107,110],{},[26,104,105],{},"Hamma joyda bitta ma’lumot oqimi"," — page → view → composable → ",[41,108,109],{},"shared\u002Fapi"," dagi tiplangan query hook, server holati uchun TanStack Query.",[34,112,113,116,117,120],{},[26,114,115],{},"Huquqlarga sezgir UI"," — ~65 ta ",[41,118,119],{},"CAN_*"," huquq va provayder kirishi (EFS \u002F Relay) har bir ko‘rinishni boshqaradi.",[34,122,123,126],{},[26,124,125],{},"Real vaqt"," — yoqilg‘i bildirishnomalari va karta hodisalari uchun WebSocket ustida STOMP.",[11,128,130],{"id":129},"etiborga-loyiq-jihatlar","E’tiborga loyiq jihatlar",[31,132,133,139,149,155,161],{},[34,134,135,138],{},[26,136,137],{},"Jonli tracking board"," — virtualizatsiya qilingan mashinalar ro‘yxati, HERE Maps markerlari va marshrutlari, marshrutni qayta ijro etish va D3 yoqilg‘i darajasi grafiklari.",[34,140,141,144,145,148],{},[26,142,143],{},"Pre-push hook’dagi sifat darvozalari",": type-check, design-token nazorati (yangi xom ranglar taqiqlangan), import chegaralari, ~200 KB gzip bundle byudjeti, litsenziyalar ro‘yxati va ",[41,146,147],{},"pnpm audit",".",[34,150,151,154],{},[26,152,153],{},"Uzilishsiz relizlar"," — build’lar kontent hash bilan belgilanadi; ochiq tablar keyingi navigatsiyada yangi relizni oladi va eskirgan chunk’lardan avtomatik tiklanadi.",[34,156,157,160],{},[26,158,159],{},"Smoke harness"," — har bir route 2 viewport × 2 mavzuda console xatolari, muvaffaqiyatsiz so‘rovlar va skrinshot farqlari bo‘yicha tekshiriladi.",[34,162,163,166],{},[26,164,165],{},"17 ta ADR"," asosiy arxitektura qarorlarini hujjatlashtiradi.",{"title":168,"searchDepth":169,"depth":169,"links":170},"",2,[171,172,173,174],{"id":13,"depth":169,"text":14},{"id":21,"depth":169,"text":22},{"id":85,"depth":169,"text":38},{"id":129,"depth":169,"text":130},"Longhorn Logistics Group",true,"\u002Fimages\u002Fprojects\u002Fdyzlix\u002Fcover.jpg","AQSh yuk tashish parklari uchun yoqilg‘i boshqaruvi platformasi: tavsiya etilgan yoqilg‘i shoxobchalari, bronlar, karta tranzaksiyalari, parkni jonli kuzatish va tejash analitikasi.","md",[181,184,187],{"src":182,"alt":183,"caption":183},"\u002Fimages\u002Fprojects\u002Fdyzlix\u002Ftracking.jpg","Jonli kuzatuv: virtualizatsiyalangan mashinalar ro‘yxati va HERE Maps klasterlari",{"src":185,"alt":186,"caption":186},"\u002Fimages\u002Fprojects\u002Fdyzlix\u002Ffuel-book.jpg","Fuel Book: tavsiya etilgan shoxobchalar, yoqilg‘i darajasi va bron amallari",{"src":188,"alt":189,"caption":189},"\u002Fimages\u002Fprojects\u002Fdyzlix\u002Fdashboard.jpg","Analitika: xarajat, tejash, MPG va idling",{},{},[193,196,199],{"label":194,"value":195},"Mening commitlarim","1 100+",{"label":197,"value":198},"Tarixdagi ulush","52%",{"label":200,"value":201},"Unit testlar","320+",1,"\u002Fwork\u002Fdyzlix","Frontend lead · noldan qurganman",{"title":6,"description":178},[207,208,209,210,211,212,213,214,215,216,217,218,219],"Vue 3.5","TypeScript","Vite","Pinia","TanStack Query","TanStack Table","TanStack Virtual","HERE Maps","D3","STOMP\u002FWebSocket","Tailwind CSS 4","Vitest","Playwright","work\u002Fdyzlix",2024,"4vlAbQeNlpc9gdSVEU3QOhErU0RI0R3VEfcgS8qj4Z8",{"id":224,"title":225,"body":226,"company":175,"confidential":176,"cover":362,"description":363,"extension":179,"featured":176,"gallery":364,"links":377,"meta":378,"metrics":379,"navigation":176,"order":169,"path":387,"role":204,"seo":388,"stack":389,"stem":394,"year":221,"__hash__":395},"projects_uz\u002Fwork\u002Fbot-manager.md","Bot Manager — Telegram va park operatsiyalari",{"type":8,"value":227,"toc":356},[228,230,233,235,248,295,298,300,322,324],[11,229,14],{"id":13},[16,231,232],{},"Dispetcherlik, xavfsizlik va texnik xizmat jamoalari yuzlab haydovchilar bilan Telegram guruhlari orqali muloqot qiladi. Bot Manager — ular har kuni ishlaydigan panel: chatlarni aks ettiradi, postlar va ogohlantirishlarni avtomatlashtiradi hamda ularni park ma’lumotlari — haydovchilar, mashinalar, ko‘riklar (PTI), work order’lar va xavfli zonalar bilan bog‘laydi.",[11,234,22],{"id":21},[16,236,237,240,241,54,244,247],{},[26,238,239],{},"Bot Manager — birinchi commit’dan boshlab mening loyiham."," Repozitoriyani 2024-yil dekabrida yaratdim va ",[48,242,243],{},"butun frontend hamda uning infratuzilmasini o‘zim qurdim",[48,245,246],{":off":57},"butun frontend’ni o‘zim qurdim",":",[31,249,250,258,278,284,290],{},[34,251,252,39,254,257],{},[26,253,38],{},[41,255,256],{},"app \u002F pages \u002F modules \u002F shared"," qatlamlari, izolyatsiyalangan feature modullar, tiplangan API qatlami va feature flag’li lazy-load route registri.",[34,259,260,54,273],{},[48,261,262,264,265,268,269,272],{},[26,263,52],{}," — Vite va TypeScript sozlamalari, staging va production uchun Docker image’lar, ",[41,266,267],{},"dev"," va ",[41,270,271],{},"main"," branchlardan avtomatik deploy hamda deploy’dan keyin foydalanuvchiga sahifani yangilashni taklif qiluvchi reliz aniqlash.",[48,274,275,277],{":off":57},[26,276,60],{}," — Vite va TypeScript sozlamalari hamda deploy’dan keyin foydalanuvchiga sahifani yangilashni taklif qiluvchi reliz aniqlash.",[34,279,280,283],{},[26,281,282],{},"Real vaqt va barqarorlik"," — ilova bo‘ylab yagona STOMP klient, qayta ulanish strategiyasi, server qayta ishga tushishi va sessiya tugashini to‘g‘ri boshqarish.",[34,285,286,289],{},[26,287,288],{},"Dasturchi tajribasi"," — ESLint, Prettier, husky, lint-staged, modul scope’li commitlint va type-check, testlar hamda staging build’ni ishga tushiradigan pre-push hook.",[34,291,292,294],{},[26,293,14],{}," — umumiy UI kit va 41 ta feature modulning ko‘pchiligi: Telegram Mirror, postlar, xavfli zonalar, PTI va RBAC.",[16,296,297],{},"Kod bazasi tarixining ~80% ini (1 700+ commit) men yozganman va hozir ham loyihaga rahbarlik qilaman.",[11,299,38],{"id":85},[31,301,302,310,316],{},[34,303,304,39,307,309],{},[26,305,306],{},"Qatlamlar",[41,308,256],{},"; yupqa route sahifalari, bir-birini import qilmaydigan izolyatsiyalangan modullar va query\u002Fmutation’li 35 ta tiplangan API domeni (TanStack Query), client holati uchun Pinia.",[34,311,312,315],{},[26,313,314],{},"Lazy-load route registri"," va build vaqtidagi feature flag’lar.",[34,317,318,321],{},[26,319,320],{},"RBAC"," — ~20 ta huquq guruhi route’lar va hatto alohida chat papkalarigacha qo‘llanadi.",[11,323,130],{"id":129},[31,325,326,332,338,344,350],{},[34,327,328,331],{},[26,329,330],{},"Telegram Mirror"," — chat papkalari, pin qilingan xabarlar, media va ovozli xabarlar, o‘chirilgan xabarlar tarixi va qidiruvga ega Telegram’simon klient. Xabarlar ro‘yxati ikki tomonlama, sakrash imkoniga ega oyna: viewport atrofini yuklaydi va javob yoki qidiruv natijasiga markazlashadi.",[34,333,334,337],{},[26,335,336],{},"Barqaror real vaqt"," — qayta ulanishlarda handler’larni saqlaydigan, ulanishdan oldingi obunalarni navbatga qo‘yadigan va tarmoq yoki tab qaytganda tiklanadigan yagona STOMP klient.",[34,339,340,343],{},[26,341,342],{},"Xatolarni chiroyli boshqarish"," — 502\u002F503\u002F504 da “server qayta ishga tushmoqda” banneri, backoff va refetch; faqat 401 tizimdan chiqaradi va foydalanuvchini o‘sha sahifaga qaytaradi; yangi deploy chiqqanda yangilash taklif qilinadi.",[34,345,346,349],{},[26,347,348],{},"Vaqt zonalari bo‘yicha rejalashtirish"," — CT\u002FET\u002FMT\u002FPT ko‘rinishli ko‘p guruhli postlar, shtatlar bo‘yicha target, pin va avtomatik o‘chirish.",[34,351,352,355],{},[26,353,354],{},"Sifat darajasi"," — nol type xatosi talabi, modul scope’li Conventional Commits va type-check, testlar hamda staging build’ni ishga tushiradigan pre-push hook.",{"title":168,"searchDepth":169,"depth":169,"links":357},[358,359,360,361],{"id":13,"depth":169,"text":14},{"id":21,"depth":169,"text":22},{"id":85,"depth":169,"text":38},{"id":129,"depth":169,"text":130},"\u002Fimages\u002Fprojects\u002Fbot-manager\u002Fcover.jpg","AQShdagi yuk tashish kompaniyasining ichki operatsion paneli: haydovchilar guruhlari uchun Telegram’ga o‘xshash chat klienti, rejalashtirilgan postlar, xavfli zonalar, ko‘riklar va rolga asoslangan kirish.",[365,368,371,374],{"src":366,"alt":367,"caption":367},"\u002Fimages\u002Fprojects\u002Fbot-manager\u002Fmulti-post.jpg","AQSh vaqt zonalari bo‘yicha ko‘p guruhli post rejalashtirish",{"src":369,"alt":370,"caption":370},"\u002Fimages\u002Fprojects\u002Fbot-manager\u002Ftelegram-mirror.jpg","Telegram Mirror: chat papkalari va aks ettirilgan haydovchi guruhlari",{"src":372,"alt":373,"caption":373},"\u002Fimages\u002Fprojects\u002Fbot-manager\u002Fcustomers.jpg","Mijozlar: obunalar, ulangan hodisalar va to‘lov holati",{"src":375,"alt":376,"caption":376},"\u002Fimages\u002Fprojects\u002Fbot-manager\u002Froles.jpg","Rolga asoslangan kirish nazorati",{},{},[380,382,384],{"label":194,"value":381},"1 700+",{"label":197,"value":383},"79%",{"label":385,"value":386},"Feature modullar","41","\u002Fwork\u002Fbot-manager",{"title":225,"description":363},[390,208,209,210,211,216,391,214,392,393,218],"Vue 3","Leaflet","vue-i18n","Tailwind CSS","work\u002Fbot-manager","UowyJIbctALA9oAhIF7UjZDMn-IhzoK3Y5b_1Wxe3Ts",{"id":397,"title":398,"body":399,"company":175,"confidential":176,"cover":487,"description":488,"extension":179,"featured":176,"gallery":489,"links":502,"meta":503,"metrics":504,"navigation":176,"order":512,"path":513,"role":514,"seo":515,"stack":516,"stem":523,"year":524,"__hash__":525},"projects_uz\u002Fwork\u002Fload-up.md","Load Up — TMS va dispatch board",{"type":8,"value":400,"toc":481},[401,403,406,408,411,413,453,455],[11,402,14],{"id":13},[16,404,405],{},"Load Up yuk tashish kompaniyasini boshidan oxirigacha boshqaradi. Dispetcherlar jonli board’da yuklarni bron qiladi va kuzatadi; park va texnik xizmat jamoalari mashinalar, work order’lar va ko‘riklarni boshqaradi; xavfsizlik bo‘limi hodisalarni video bilan kuzatadi; buxgalteriya hisob-kitob va ish haqini yuritadi — bularning hammasi ko‘plab bo‘limlar har kuni ishlatadigan bitta veb-ilovada.",[11,407,22],{"id":21},[16,409,410],{},"Jamoaga 2026-yil iyunida qo‘shildim va qat’iy qoidalarga ega katta, tez rivojlanayotgan kod bazasida board, fleet va safety modullari bo‘yicha funksiyalar chiqaraman.",[11,412,38],{"id":85},[31,414,415,421,441,447],{},[34,416,417,420],{},[26,418,419],{},"React 19 + TanStack Router"," — fayl asosidagi route’lar va avtomatik code splitting (~210 ta route fayli).",[34,422,423,426,427,430,431,430,434,430,437,440],{},[26,424,425],{},"Feature-sliced domenlar"," — 24 ta modulning har biri o‘z ",[41,428,429],{},"api",", ",[41,432,433],{},"components",[41,435,436],{},"hooks",[41,438,439],{},"schemas"," va store’iga ega.",[34,442,443,446],{},[26,444,445],{},"Server holati"," TanStack Query va optimistik yangilanishlar bilan; client holati Zustand bilan; formalar react-hook-form va Zod bilan.",[34,448,449,452],{},[26,450,451],{},"Batafsil huquqlar"," — yuzlab komponentlarda ishlatiladigan markaziy huquqlar katalogi.",[11,454,130],{"id":129},[31,456,457,463,469,475],{},[34,458,459,462],{},[26,460,461],{},"Hammasi jonli"," — STOMP\u002FWebSocket kanallari load board, yuklar, bildirishnomalar va xavfsizlik ma’lumotlarini sinxron saqlaydi; RingCentral WebRTC qo‘ng‘iroqlari ilovaga o‘rnatilgan.",[34,464,465,468],{},[26,466,467],{},"Katta ma’lumot, silliq UI"," — umumiy virtualizatsiyalangan jadval (TanStack Table + Virtual) va klasterlash hamda fazoviy indeksli xaritalar.",[34,470,471,474],{},[26,472,473],{},"Ko‘p tabda to‘g‘rilik"," — operator faolligi Web Locks va BroadcastChannel yordamida faqat bitta tabdan yuboriladi.",[34,476,477,480],{},[26,478,479],{},"Tez fikr-mulohaza"," — Vitest node va jsdom loyihalariga bo‘lingan, test to‘plami 8,5 s dan 3,65 s gacha qisqargan.",{"title":168,"searchDepth":169,"depth":169,"links":482},[483,484,485,486],{"id":13,"depth":169,"text":14},{"id":21,"depth":169,"text":22},{"id":85,"depth":169,"text":38},{"id":129,"depth":169,"text":130},"\u002Fimages\u002Fprojects\u002Fload-up\u002Fcover.jpg","Yuk tashish kompaniyasi uchun yirik transport boshqaruv tizimi: jonli load board, reyslar, park texnik xizmati, xavfsizlik monitoringi, buxgalteriya va HR — bitta React ilovada.",[490,493,496,499],{"src":491,"alt":492,"caption":492},"\u002Fimages\u002Fprojects\u002Fload-up\u002Fdashboard.jpg","Operatsion dashboard: KPI’lar va 600+ haydovchining jonli xaritasi",{"src":494,"alt":495,"caption":495},"\u002Fimages\u002Fprojects\u002Fload-up\u002Fupdate-board.jpg","Update Board: park holati, tirkamalar va joylashuvlar bitta virtualizatsiyalangan jadvalda",{"src":497,"alt":498,"caption":498},"\u002Fimages\u002Fprojects\u002Fload-up\u002Ftrips.jpg","Reyslar: yuklash, yetkazish va dispetcherlik holati",{"src":500,"alt":501,"caption":501},"\u002Fimages\u002Fprojects\u002Fload-up\u002Froute-planner.jpg","HERE Maps’da tarozi punktlari bilan yuk mashinasi marshrut rejalashtiruvchisi",{},{},[505,508,510],{"label":506,"value":507},"Kod bazasi","~3 100 fayl",{"label":385,"value":509},"24",{"label":194,"value":511},"250+",3,"\u002Fwork\u002Fload-up","Frontend muhandis",{"title":398,"description":488},[517,208,518,519,211,212,213,520,216,521,522,391,217,218],"React 19","Vite 8","TanStack Router","Zustand","WebRTC","MapLibre","work\u002Fload-up",2026,"O26T0NY0oFXV5Xnx2b-1dDBTY5wTiVQlQvpGBobbfVo",{"id":527,"title":528,"body":529,"company":591,"confidential":592,"cover":593,"description":594,"extension":179,"featured":176,"gallery":595,"links":596,"meta":599,"metrics":600,"navigation":176,"order":610,"path":611,"role":612,"seo":613,"stack":614,"stem":619,"year":524,"__hash__":620},"projects_uz\u002Fwork\u002Fexpensify.md","Expensify — open-source hissalar",{"type":8,"value":530,"toc":586},[531,535,545,549,579,583],[11,532,534],{"id":533},"kontekst","Kontekst",[16,536,537,544],{},[538,539,543],"a",{"href":540,"rel":541},"https:\u002F\u002Fgithub.com\u002FExpensify\u002FApp",[542],"nofollow","Expensify"," — React Native va React Native Web’da qurilgan, web, iOS va Android’da millionlab foydalanuvchiga xizmat qiluvchi open-source xarajatlarni boshqarish va chat ilovasi. Hissa qo‘shuvchilar ochiq navbatdan issue tanlab, taklif (proposal) yozadi va qat’iy review hamda QA jarayonidan o‘tkazib yechimni chiqaradi.",[11,546,548],{"id":547},"nimalar-ustida-ishladim","Nimalar ustida ishladim",[31,550,551,557,563,569],{},[34,552,553,556],{},[26,554,555],{},"Xarajat hisobotlari va dublikatlar"," — IOU hisobotlarida dublikat ogohlantirishlarini yashirish, tranzaksiya thread’larida “Keep selected” ni tuzatish, bir nechta xarajatli draft’larni yuboriladigan holatda saqlash.",[34,558,559,562],{},[26,560,561],{},"Qidiruv va optimistik yangilanishlar"," — SmartScan natijalari izchil bo‘lishi uchun optimistik Search snapshot’ini to‘g‘rilash, scan-failed ko‘chirishlar va xarajat qatorlari miltillashini tuzatish.",[34,564,565,568],{},[26,566,567],{},"Workspace va Expensify Card"," — faol Expensify Card egasi bo‘lgan a’zoni o‘chirishni bloklash, to‘lovlar o‘chiq bo‘lganda to‘lov amallarini o‘chirish, kategoriyalar uchun GL kodlarni ko‘rsatish.",[34,570,571,574,575,578],{},[26,572,573],{},"Navigatsiya va UX"," — agent’ga copilot qilingandan keyingi “orqaga” tugmasi siklini tuzatish, ",[41,576,577],{},"exitTo"," havolalarida joriy tabni saqlash, offline indikator va safe-area ustma-ust tushishini tuzatish.",[11,580,582],{"id":581},"nimani-orgatdi","Nimani o‘rgatdi",[16,584,585],{},"Katta va yetuk kod bazasida ishlash uning qoidalarini hurmat qilishni talab qiladi: Onyx bilan optimistik ma’lumotlar, offline-first xatti-harakat, har bir o‘zgarish uchun qat’iy tiplar va testlar — hamda reviewer’lar tez tasdiqlay oladigan takliflar yozish.",{"title":168,"searchDepth":169,"depth":169,"links":587},[588,589,590],{"id":533,"depth":169,"text":534},{"id":547,"depth":169,"text":548},{"id":581,"depth":169,"text":582},null,false,"\u002Fimages\u002Fprojects\u002Fexpensify.jpg","Expensify’ning production React Native ilovasiga 25 ta merge qilingan pull request — xarajat hisobotlari, qidiruv, offline oqimlar va workspace boshqaruvi bo‘yicha tuzatishlar va funksiyalar.",[],{"live":597,"source":598},"https:\u002F\u002Fnew.expensify.com","https:\u002F\u002Fgithub.com\u002FExpensify\u002FApp\u002Fpulls?q=is%3Apr+author%3Ayusufdeveloper2903",{},[601,604,607],{"label":602,"value":603},"Merge qilingan PR’lar","25",{"label":605,"value":606},"Platformalar","Web · iOS · Android",{"label":608,"value":609},"Hissa qo‘shish boshlangan","2026-yil may",4,"\u002Fwork\u002Fexpensify","Open-source contributor",{"title":528,"description":594},[208,615,616,617,618],"React Native","React Native Web","Onyx","Jest","work\u002Fexpensify","Ts8Syh7HouSiavNDJhTcD-XpGQlF_udW-ujK0Y8wII8",{"id":622,"title":623,"body":624,"company":710,"confidential":176,"cover":711,"description":712,"extension":179,"featured":592,"gallery":713,"links":738,"meta":739,"metrics":740,"navigation":176,"order":750,"path":751,"role":752,"seo":753,"stack":754,"stem":760,"year":221,"__hash__":761},"projects_uz\u002Fwork\u002Fhunarda.md","Hunarda — onlayn ta’lim platformasi",{"type":8,"value":625,"toc":706},[626,628,635,655,659,662],[11,627,14],{"id":13},[16,629,630,631,634],{},"Hunarda — an’anaviy o‘qish tajribasini o‘zgartirish uchun yaratilgan innovatsion ta’lim platformasi. Uchta asosiy rol — ",[26,632,633],{},"administrator, o‘qituvchi va talaba"," — orqali u ta’lim jarayonlarini soddalashtiradi va hamkorlikni rivojlantiradi.",[31,636,637,643,649],{},[34,638,639,642],{},[26,640,641],{},"Administratorlar"," platformani to‘liq boshqaradi: xavfsiz kirishni ta’minlash uchun foydalanuvchi akkauntlari va tizim sozlamalarini yuritadi.",[34,644,645,648],{},[26,646,647],{},"O‘qituvchilar"," kurslar yaratadi va boshqaradi, materiallar yuklaydi hamda muhokama va fikr-mulohaza orqali talabalar bilan ishlaydi.",[34,650,651,654],{},[26,652,653],{},"Talabalar"," kurslarga yoziladi, materiallardan foydalanadi va o‘qituvchilar hamda guruhdoshlari bilan muloqot qiladi.",[11,656,658],{"id":657},"nima-qildim","Nima qildim",[16,660,661],{},"Admin panelni Vue.js’da ishlab chiqdim:",[31,663,664,670,676,682,688,694,700],{},[34,665,666,669],{},[26,667,668],{},"Dashboard va statistika"," — platforma ko‘rsatkichlari va tushum, sotuvlar, kurslar hamda talabalar bo‘yicha oylik grafiklar, kategoriya, kurs va sana filtrlari bilan.",[34,671,672,675],{},[26,673,674],{},"Foydalanuvchilar"," — rollarga ega xodimlar va ballari bor talabalar, kategoriya va kurs filtrlari hamda Excel eksporti.",[34,677,678,681],{},[26,679,680],{},"Kurslarni boshqarish"," — kategoriyalar, kurslar, arxiv, teglar va promokodlar katalogi, tariflar.",[34,683,684,687],{},[26,685,686],{},"Moliya"," — Click, Payme, Uzum, Paynet va naqd to‘lovlar; usul, holat, sana, kurs va promokod bo‘yicha filtrlash.",[34,689,690,693],{},[26,691,692],{},"Chat"," — administrator ko‘rib chiqa oladigan o‘qituvchi–talaba yozishmalari.",[34,695,696,699],{},[26,697,698],{},"Kontent"," — FAQ, loyiha haqida, shartlar va aloqa sahifalari bilan “Biz haqimizda” bo‘limi.",[34,701,702,705],{},[26,703,704],{},"UX"," — yorug‘ va qorong‘i mavzular, ko‘p tilli interfeys va sahifalangan jadvallar.",{"title":168,"searchDepth":169,"depth":169,"links":707},[708,709],{"id":13,"depth":169,"text":14},{"id":657,"depth":169,"text":658},"ZK (Zamonaviy Kommunikatsiyalar)","\u002Fimages\u002Fprojects\u002Fhunarda\u002Fcover.jpg","Uch rolli — administrator, o‘qituvchi va talaba — ta’lim platformasi: kurslar, materiallar, to‘lovlar, chat va analitika.",[714,717,720,723,726,729,732,735],{"src":715,"alt":716,"caption":716},"\u002Fimages\u002Fprojects\u002Fhunarda\u002Fstatistics.jpg","Statistika: oylar bo‘yicha tushum, sotuvlar, kurslar va talabalar",{"src":718,"alt":719,"caption":719},"\u002Fimages\u002Fprojects\u002Fhunarda\u002Fdashboard.jpg","Profil va platforma ko‘rsatkichlari bilan admin dashboard",{"src":721,"alt":722,"caption":722},"\u002Fimages\u002Fprojects\u002Fhunarda\u002Fstudents.jpg","Ballar, kurs filtrlari va Excel eksporti bilan talabalar (shaxsiy ma’lumotlar xiralashtirilgan)",{"src":724,"alt":725,"caption":725},"\u002Fimages\u002Fprojects\u002Fhunarda\u002Ffinance.jpg","Moliya: Click, Payme, Uzum, Paynet va naqd to‘lovlar, promokodlar bilan",{"src":727,"alt":728,"caption":728},"\u002Fimages\u002Fprojects\u002Fhunarda\u002Fstaff.jpg","Rollar (o‘qituvchi, admin) bilan xodimlarni boshqarish",{"src":730,"alt":731,"caption":731},"\u002Fimages\u002Fprojects\u002Fhunarda\u002Fdirectory.jpg","Kurslar katalogi: kategoriyalar, kurslar, arxiv, teglar va promokodlar",{"src":733,"alt":734,"caption":734},"\u002Fimages\u002Fprojects\u002Fhunarda\u002Flogin.jpg","Kirish sahifasi",{"src":736,"alt":737,"caption":737},"\u002Fimages\u002Fprojects\u002Fzk\u002Fpartners.jpg","ZK (Zamonaviy Kommunikatsiyalar) hamkorlari: banklar, telekom va davlat tashkilotlari",{},{},[741,744,747],{"label":742,"value":743},"Rollar","Admin · O‘qituvchi · Talaba",{"label":745,"value":746},"To‘lov tizimlari","5",{"label":748,"value":749},"Interfeys","Yorug‘ va qorong‘i mavzu",5,"\u002Fwork\u002Fhunarda","Frontend dasturchi (Vue.js)",{"title":623,"description":712},[755,756,757,758,759],"Vue.js","JavaScript","REST API","Excel export","i18n","work\u002Fhunarda","P8T1i7T0vlRnM5NeaQ7gyppaAwXXFO9ucIziL2qhKkI",{"id":763,"title":764,"body":765,"company":710,"confidential":176,"cover":856,"description":857,"extension":179,"featured":592,"gallery":858,"links":880,"meta":881,"metrics":882,"navigation":176,"order":892,"path":893,"role":752,"seo":894,"stack":895,"stem":897,"year":221,"__hash__":898},"projects_uz\u002Fwork\u002Fecology-check.md","Ecology Check — milliy ekologik ma’lumotlar platformasi",{"type":8,"value":766,"toc":852},[767,769,772,812,815,817],[11,768,14],{"id":13},[16,770,771],{},"Ecology Check — mamlakat ekologiyasini baholashga yordam beruvchi loyiha. U ekologik ma’lumotlar bilan oson ishlash uchun turli imkoniyatlarni taqdim etadi:",[31,773,774,780,787,793,800,806],{},[34,775,776,777,148],{},"Foydalanuvchilar bioxilma-xillik, havo va suv sifati hamda yerdan foydalanish bo‘yicha ",[26,778,779],{},"ma’lumot yig‘adi",[34,781,782,783,786],{},"Loyiha bu ma’lumotlarni ",[26,784,785],{},"tahlil qilib",", qonuniyat va tendensiyalarni aniqlaydi.",[34,788,789,790,148],{},"Ma’lumotlar xaritalar, diagrammalar va grafiklar orqali ",[26,791,792],{},"vizuallashtiriladi",[34,794,795,796,799],{},"Foydalanuvchilar asosiy xulosalarni jamlagan ",[26,797,798],{},"hisobotlar tuzadi"," va boshqalar bilan hamkorlik qiladi.",[34,801,802,805],{},[26,803,804],{},"Ogohlantirish va bildirishnomalar"," ekologik muammolarni o‘z vaqtida aniqlashga yordam beradi.",[34,807,808,811],{},[26,809,810],{},"Integratsiya shlyuzi"," ma’lumot almashinuvi uchun boshqa manbalarni ulaydi.",[16,813,814],{},"Platforma davlat idoralarini — ekologiya qo‘mitasi, o‘rmon xo‘jaligi, geologiya, gidrometeorologiya, qishloq xo‘jaligi, suv xo‘jaligi, sog‘liqni saqlash, favqulodda vaziyatlar va ekologik laboratoriyalarni — har biriga alohida bo‘lim bilan birlashtiradi.",[11,816,658],{"id":657},[31,818,819,825,834,840,846],{},[34,820,821,824],{},[26,822,823],{},"Idoralar bo‘limlari"," — idoralar dashboard’i, har birida o‘z natijalari, statistikasi va ma’lumot kiritish.",[34,826,827,830,831,148],{},[26,828,829],{},"Xaritalar"," — O‘zbekistonning interaktiv xaritasi va mavzuli xaritalar (konsentratsiyalar, suv resurslari, o‘simlik va hayvonot dunyosi, qo‘riqxonalar, havo holati), ko‘rsatkichlarni vaqt bo‘yicha jonlantiruvchi ",[26,832,833],{},"ifloslanish manbalari issiqlik xaritasi",[34,835,836,839],{},[26,837,838],{},"Analitika va statistika"," — sana va ko‘rsatkich filtrlari bilan jadvallar va yillar bo‘yicha diagrammalar.",[34,841,842,845],{},[26,843,844],{},"Ma’lumot kiritish"," — havo, suv va yer bo‘yicha hududlardagi monitoring obyektlari va laboratoriya ko‘rsatkichlari, CSV eksporti bilan.",[34,847,848,851],{},[26,849,850],{},"Ma’lumotnomalar"," — guruhlar, birliklar, mulkchilik shakllari, ifloslantiruvchi turlari, hududlar va parametrlar klassifikatorlari, sozlamalar va bilimlar bazasi.",{"title":168,"searchDepth":169,"depth":169,"links":853},[854,855],{"id":13,"depth":169,"text":14},{"id":657,"depth":169,"text":658},"\u002Fimages\u002Fprojects\u002Fecology\u002Fcover.jpg","Mamlakat ekologiyasini baholash platformasi: ko‘plab idoralardan havo va suv sifati, bioxilma-xillik va yerdan foydalanish ma’lumotlari xarita, grafik va hisobotlarda tahlil qilinadi.",[859,862,865,868,871,874,877],{"src":860,"alt":861,"caption":861},"\u002Fimages\u002Fprojects\u002Fecology\u002Fpollution-heatmap.jpg","Analitika: ifloslanish manbalarining vaqt bo‘yicha issiqlik xaritasi",{"src":863,"alt":864,"caption":864},"\u002Fimages\u002Fprojects\u002Fecology\u002Fregions.jpg","Hududlar bo‘yicha monitoring obyektlari va manbalari: havo, suv va yer",{"src":866,"alt":867,"caption":867},"\u002Fimages\u002Fprojects\u002Fecology\u002Fanalytics.jpg","Sana filtrlari va grafiklar bilan ko‘rsatkichlar natijalari",{"src":869,"alt":870,"caption":870},"\u002Fimages\u002Fprojects\u002Fecology\u002Fmap.jpg","O‘zbekistonning interaktiv xaritasi",{"src":872,"alt":873,"caption":873},"\u002Fimages\u002Fprojects\u002Fecology\u002Fagencies.jpg","Har bir davlat idorasi uchun alohida bo‘lim",{"src":875,"alt":876,"caption":876},"\u002Fimages\u002Fprojects\u002Fecology\u002Fclassifiers.jpg","Klassifikatorlar: guruhlar, birliklar va ifloslantiruvchi turlari",{"src":878,"alt":879,"caption":879},"\u002Fimages\u002Fprojects\u002Fzk\u002Fnumbers.jpg","ZK raqamlarda: 100+ loyiha, 10+ yil, 20+ dasturchi",{},{},[883,886,889],{"label":884,"value":885},"Ma’lumot sohalari","Havo · Suv · Yer · Bioxilma-xillik",{"label":887,"value":888},"Ulangan idoralar","10+",{"label":890,"value":891},"Hududlar","14",6,"\u002Fwork\u002Fecology-check",{"title":764,"description":857},[755,756,391,896,757],"Charts","work\u002Fecology-check","pafM8EGyQmiX8DM7EbuybbyClHWP-Zwf8lu3SDw-1CQ",{"id":900,"title":901,"body":902,"company":964,"confidential":176,"cover":965,"description":966,"extension":179,"featured":592,"gallery":967,"links":985,"meta":986,"metrics":987,"navigation":176,"order":994,"path":995,"role":752,"seo":996,"stack":997,"stem":1004,"year":1005,"__hash__":1006},"projects_uz\u002Fwork\u002Finvan.md","Invan — tiin uchun savdoni avtomatlashtirish",{"type":8,"value":903,"toc":958},[904,906,916,918,944,948,951,955],[11,905,534],{"id":533},[16,907,908,911,912,915],{},[26,909,910],{},"tiin"," — Toshkentdagi do‘konlar tarmog‘i. Uning ichki IT bo‘limi ",[26,913,914],{},"Invan","ni yaratgan: tiin do‘konlarida ishlatiladigan va boshqa bizneslarga ham sotiladigan savdoni avtomatlashtirish platformasi. U kassa (POS), ombor qoldig‘i, mijozlar va yetkazib beruvchilar bazasi, chek va etiketkalarni o‘z ichiga oladi hamda Payme, Uzum, OFD.uz virtual kassasi va Markirovka bilan integratsiyalangan. invan.uz ma’lumotiga ko‘ra, undan 100 dan ortiq kompaniya foydalanadi.",[11,917,548],{"id":547},[31,919,920,926,938],{},[34,921,922,925],{},[26,923,924],{},"Admin panel"," — do‘kon menejerlari har kuni ishlatadigan katta back-office ilovaning modullari: buyurtmalar, mahsulotlar, ombor qoldig‘i, mijozlar, analitik grafiklar, bildirishnomalar va sozlamalar, hamda hisobotlarni Excel’ga eksport qilish.",[34,927,928,931,932,937],{},[26,929,930],{},"Landing sahifalar"," — ochiq ",[538,933,936],{"href":934,"rel":935},"https:\u002F\u002Finvan.uz\u002F",[542],"invan.uz"," sayti: hero, POS uskunalari, integratsiyalar, blog, tariflar va aloqa bo‘limlari, to‘liq moslashuvchan.",[34,939,940,943],{},[26,941,942],{},"Qo‘llab-quvvatlash"," — production loyihalardagi xatolarni tuzatish va biznes talabi bo‘yicha yangi modullar qo‘shish.",[11,945,947],{"id":946},"stack","Stack",[16,949,950],{},"Vue.js, Vuex, Vue Router, Axios, Bootstrap-Vue, Chart.js, Sass.",[11,952,954],{"id":953},"nimani-organdim","Nimani o‘rgandim",[16,956,957],{},"Dasturni o‘z do‘konlarida ishlatadigan biznes uchun yaratish juda qisqa fikr-mulohaza siklini beradi — kassirlar va menejerlar muammoni o‘sha kuniyoq aytadi, shuning uchun ishonchlilik va sodda interfeys hammasidan muhim.",{"title":168,"searchDepth":169,"depth":169,"links":959},[960,961,962,963],{"id":533,"depth":169,"text":534},{"id":547,"depth":169,"text":548},{"id":946,"depth":169,"text":947},{"id":953,"depth":169,"text":954},"Invan · tiin IT bo‘limi","\u002Fimages\u002Fprojects\u002Finvan\u002Flanding-hero.jpg","Toshkentdagi tiin do‘konlar tarmog‘ining IT bo‘limi yaratgan Invan savdo avtomatlashtirish platformasi uchun admin panellar va landing sahifalar.",[968,970,973,976,979,982],{"src":965,"alt":969,"caption":969},"invan.uz landingi: hero qismi",{"src":971,"alt":972,"caption":972},"\u002Fimages\u002Fprojects\u002Finvan\u002Flanding-pos.jpg","POS uskunalari: sensorli monoblok, kassa qutisi, printer va skaner",{"src":974,"alt":975,"caption":975},"\u002Fimages\u002Fprojects\u002Finvan\u002Flanding-integrations.jpg","Integratsiyalar: Payme, Uzum, OFD.uz va Markirovka",{"src":977,"alt":978,"caption":978},"\u002Fimages\u002Fprojects\u002Finvan\u002Flanding-pricing.jpg","Tariflar — admin panel har bir tarifga kiradi",{"src":980,"alt":981,"caption":981,"portrait":176},"\u002Fimages\u002Fprojects\u002Finvan\u002Flanding-mobile.jpg","Landingning mobil ko‘rinishi",{"src":983,"alt":984,"caption":984,"portrait":176},"\u002Fimages\u002Fprojects\u002Finvan\u002Ftiin-store.jpg","Toshkentdagi tiin do‘koni — Invan shu tarmoqning IT bo‘limi edi",{"live":934},{},[988,991],{"label":989,"value":990},"Platformadagi bizneslar","100+",{"label":992,"value":993},"Mahsulotlar","Admin panel · Landing",7,"\u002Fwork\u002Finvan",{"title":901,"description":966},[755,998,999,1000,1001,1002,1003],"Vuex","Vue Router","Axios","Bootstrap-Vue","Chart.js","Sass","work\u002Finvan",2022,"9b1BijYpOrm74F7DzSZ_q_aiZrqx-nRS_bNgCTjcR-k",{"id":1008,"title":1009,"body":1010,"company":1067,"confidential":176,"cover":1068,"description":1069,"extension":179,"featured":592,"gallery":1070,"links":1088,"meta":1090,"metrics":1091,"navigation":176,"order":1097,"path":1098,"role":1099,"seo":1100,"stack":1101,"stem":1105,"year":1106,"__hash__":1107},"projects_uz\u002Fwork\u002Fquramiz.md","Quramiz — qurilish materiallari marketpleysi",{"type":8,"value":1011,"toc":1061},[1012,1014,1020,1022,1025,1051,1053,1056,1058],[11,1013,14],{"id":13},[16,1015,1016,1019],{},[26,1017,1018],{},"Quramiz.uz"," — SQB bankining O‘zbekistondagi qurilish va ta’mirlash materiallari marketpleysi: qurilish materiallari, asboblar, elektrika, santexnika, ichki pardozlash va boshqalar. Toshkent va viloyatlarga yetkazib berish hamda kreditga xarid qilish imkoni bor. U iOS va Android mobil ilovasi bilan birga ishlaydi.",[11,1021,22],{"id":21},[16,1023,1024],{},"Sherigim bilan birga veb-do‘konning foydalanuvchi interfeysini yaratib, uni ishga tushirdik — bu SQB jamoasida stajyor sifatidagi birinchi production loyiham edi.",[31,1026,1027,1033,1039,1045],{},[34,1028,1029,1032],{},[26,1030,1031],{},"Katalog va navigatsiya"," — kategoriyalar mega-menyusi, narx va brend filtrlari hamda saralashga ega kategoriya sahifalari, brend sahifalari va qidiruv.",[34,1034,1035,1038],{},[26,1036,1037],{},"Mahsulot tajribasi"," — qoldiq va birlik narxi ko‘rsatilgan mahsulot kartalari, tavsif, xususiyatlar, sharhlar va turli yetkazib beruvchilar takliflari bilan mahsulot sahifasi, sevimlilar va savatcha.",[34,1040,1041,1044],{},[26,1042,1043],{},"Bosh sahifa"," — promo bannerlar, “mavsum”, “yangi” va “sizga kerak bo‘lishi mumkin” karusellari, brendlar va mobil ilova bloki.",[34,1046,1047,1050],{},[26,1048,1049],{},"Moslashuvchan UI"," — pastki navigatsiyali alohida mobil layout.",[11,1052,947],{"id":946},[16,1054,1055],{},"Vue 2, Vuex, Vue Router, Axios va Yandex Maps, Laravel backend ustida.",[11,1057,954],{"id":953},[16,1059,1060],{},"Haqiqiy e-commerce UI’ni chiqarish komponentlar bilan fikrlashni o‘rgatdi — bitta mahsulot kartasi karusellarda, kategoriya to‘rlarida va qidiruvda ishlaydi — hamda qoldiq, birlik va narx kabi mayda detallar xaridor uchun qanchalik muhimligini ko‘rsatdi.",{"title":168,"searchDepth":169,"depth":169,"links":1062},[1063,1064,1065,1066],{"id":13,"depth":169,"text":14},{"id":21,"depth":169,"text":22},{"id":946,"depth":169,"text":947},{"id":953,"depth":169,"text":954},"SQB bank","\u002Fimages\u002Fprojects\u002Fquramiz\u002Fhome-hero.jpg","SQB banki ishga tushirgan O‘zbekistondagi birinchi qurilish va ta’mirlash materiallari marketpleysi — katalog, qidiruv, filtrlar, savatcha va yetkazib beruvchilar takliflari.",[1071,1073,1076,1079,1082,1085],{"src":1068,"alt":1072,"caption":1072},"Bosh sahifa: katalog menyusi, promo banner va yetkazish, to‘lov hamda kredit afzalliklari",{"src":1074,"alt":1075,"caption":1075},"\u002Fimages\u002Fprojects\u002Fquramiz\u002Fhome-products.jpg","Mahsulotlar karuseli va mobil ilova bloki",{"src":1077,"alt":1078,"caption":1078},"\u002Fimages\u002Fprojects\u002Fquramiz\u002Fcategory.jpg","Narx va brend filtrlari bilan kategoriya sahifasi",{"src":1080,"alt":1081,"caption":1081},"\u002Fimages\u002Fprojects\u002Fquramiz\u002Fproduct.jpg","Mahsulot sahifasi: tavsif, xususiyatlar, sharhlar va yetkazib beruvchilar takliflari",{"src":1083,"alt":1084,"caption":1084},"\u002Fimages\u002Fprojects\u002Fquramiz\u002Fhome-catalog-brands.jpg","Kategoriya tablari, brendlar va to‘liq katalog",{"src":1086,"alt":1087,"caption":1087,"portrait":176},"\u002Fimages\u002Fprojects\u002Fquramiz\u002Fmobile.jpg","Pastki navigatsiyali mobil ko‘rinish",{"live":1089},"https:\u002F\u002Fquramiz.uz\u002F",{},[1092,1095],{"label":1093,"value":1094},"Jamoa","2 frontend dasturchi",{"label":605,"value":1096},"Web · iOS · Android ilova",8,"\u002Fwork\u002Fquramiz","Frontend dasturchi (UI), sherigim bilan",{"title":1009,"description":1069},[1102,998,999,1000,1103,1104],"Vue 2","Yandex Maps","Laravel","work\u002Fquramiz",2021,"2Wdp4IqmmNnq37bAk137YjKwPwvKCn2L2SCQ5yA5sqU",{"id":1109,"title":1110,"body":1111,"company":591,"confidential":592,"cover":1164,"description":1165,"extension":179,"featured":592,"gallery":1166,"links":1167,"meta":1169,"metrics":1170,"navigation":176,"order":1171,"path":1172,"role":1173,"seo":1174,"stack":1175,"stem":1179,"year":221,"__hash__":1180},"projects_uz\u002Fwork\u002Fcustomer-platform.md","Customer Management Platform",{"type":8,"value":1112,"toc":1159},[1113,1117,1120,1122,1154,1156],[11,1114,1116],{"id":1115},"muammo","Muammo",[16,1118,1119],{},"Banklar va savdo korxonalari kabi bizneslarga mijozlar, jadvallar va analitika uchun yagona admin panel kerak — turli xodimlar uchun turli huquqlar bilan.",[11,1121,658],{"id":657},[31,1123,1124,1130,1136,1142,1148],{},[34,1125,1126,1129],{},[26,1127,1128],{},"Modulli arxitektura"," — har bir domen o‘z marshrutlari bilan alohida modulda yashaydi va ilova router’iga ulanadi.",[34,1131,1132,1135],{},[26,1133,1134],{},"Autentifikatsiya va huquqlar"," — JWT auth servisi va CASL asosidagi rolga asoslangan kirish nazorati.",[34,1137,1138,1141],{},[26,1139,1140],{},"Boy interfeys"," — sahifalashli jadvallar, kalendarlar (FullCalendar), grafiklar (ApexCharts, ECharts), xaritalar (Leaflet), matn muharriri va tekshiriladigan formalar (Vuelidate).",[34,1143,1144,1147],{},[26,1145,1146],{},"Layout’lar"," — vertikal va gorizontal navigatsiya, yig‘iladigan sidebar, yorug‘\u002Fqorong‘i mavzu va i18n.",[34,1149,1150,1153],{},[26,1151,1152],{},"Sifat"," — TypeScript, testlari bor Pinia store’lar (Vitest, Pinia testing), qat’iy ESLint qoidalari.",[11,1155,947],{"id":946},[16,1157,1158],{},"Vue 3 (Composition API), TypeScript, Pinia, Vite, PrimeVue, Tailwind CSS.",{"title":168,"searchDepth":169,"depth":169,"links":1160},[1161,1162,1163],{"id":1115,"depth":169,"text":1116},{"id":657,"depth":169,"text":658},{"id":946,"depth":169,"text":947},"\u002Fimages\u002Fprojects\u002Fcustomer-platform.jpg","Mijozlarni boshqarish uchun modulli admin platforma — rolga asoslangan kirish, kalendarlar, grafiklar, xaritalar va ko‘p tilli interfeys, Vue 3 va TypeScript’da.",[],{"source":1168},"https:\u002F\u002Fgithub.com\u002Fyusufdeveloper2903\u002FCustomer-Management-Platform",{},[],9,"\u002Fwork\u002Fcustomer-platform","Frontend dasturlash",{"title":1110,"description":1165},[390,208,210,1176,1177,393,1178,391,218],"CASL","PrimeVue","ECharts","work\u002Fcustomer-platform","E_mAgC-yvzw7m-r2k5VDKEqjKg9Y1tDElETuAOum9qY",{"id":1182,"title":1183,"body":1184,"company":591,"confidential":592,"cover":1239,"description":1240,"extension":179,"featured":592,"gallery":1241,"links":1242,"meta":1244,"metrics":1245,"navigation":176,"order":1246,"path":1247,"role":1248,"seo":1249,"stack":1250,"stem":1254,"year":524,"__hash__":1255},"projects_uz\u002Fwork\u002Ftasker.md","Tasker — GitHub issue’lar bilan ishlash",{"type":8,"value":1185,"toc":1234},[1186,1188,1191,1193,1219,1221],[11,1187,1116],{"id":1115},[16,1189,1190],{},"Katta open-source loyihaga hissa qo‘shish o‘nlab issue’larni bir vaqtda kuzatishni anglatadi: yangi “Help Wanted”lar, eslatmalar, biriktirishlar va jarayondagi ishlar. GitHub bildirishnomalarining o‘zi aniq manzara bermaydi.",[11,1192,658],{"id":657},[31,1194,1195,1201,1207,1213],{},[34,1196,1197,1200],{},[26,1198,1199],{},"Issue yo‘laklari"," — Help Wanted, Mentioned, To-do, Assigned, In Progress va Complete tablari, har biri o‘z GitHub so‘roviga ega.",[34,1202,1203,1206],{},[26,1204,1205],{},"Shaxsiy qatlam"," — har bir issue uchun shaxsiy qaydlar va statuslar, Supabase’da saqlanadi va qurilmalar o‘rtasida sinxronlanadi.",[34,1208,1209,1212],{},[26,1210,1211],{},"Signallar"," — o‘qilmagan belgilari, bildirishnoma va eslatmalarni kuzatish — muhim narsa qolib ketmaydi.",[34,1214,1215,1218],{},[26,1216,1217],{},"Profil va mavzu"," — foydalanuvchi GitHub username sozlamasi va yorug‘\u002Fqorong‘i mavzu.",[11,1220,38],{"id":85},[16,1222,1223,1224,430,1227,430,1230,1233],{},"Feature’ga asoslangan React tuzilmasi (",[41,1225,1226],{},"features\u002Fissues",[41,1228,1229],{},"features\u002Fprofile",[41,1231,1232],{},"features\u002Ftheme","): har bir ma’lumot vazifasi alohida hook — yangi yo‘lak qo‘shish mavjudlariga tegmaydi.",{"title":168,"searchDepth":169,"depth":169,"links":1235},[1236,1237,1238],{"id":1115,"depth":169,"text":1116},{"id":657,"depth":169,"text":658},{"id":85,"depth":169,"text":38},"\u002Fimages\u002Fprojects\u002Ftasker.jpg","Gavjum open-source issue navbatini shaxsiy ish jarayoniga aylantiruvchi dashboard — help wanted, eslatmalar, biriktirilgan va jarayondagi issue’lar, qaydlar va statuslar bilan.",[],{"live":1243},"https:\u002F\u002Ftodo-tasker-one.vercel.app",{},[],10,"\u002Fwork\u002Ftasker","Dizayn va dasturlash",{"title":1183,"description":1240},[1251,209,1252,1253],"React","Supabase","GitHub API","work\u002Ftasker","mYKHAJHxOOaWTbVD3cspOeS7GtmM-dEyCEXIXEzJNMA",{"id":1257,"title":1258,"body":1259,"company":591,"confidential":592,"cover":1375,"description":1376,"extension":179,"featured":592,"gallery":1377,"links":1378,"meta":1380,"metrics":1381,"navigation":176,"order":1382,"path":1383,"role":1248,"seo":1384,"stack":1385,"stem":1389,"year":524,"__hash__":1390},"projects_uz\u002Fwork\u002Fportfolio.md","Portfolio platformasi",{"type":8,"value":1260,"toc":1369},[1261,1263,1266,1270,1321,1323,1358,1362,1365],[11,1262,1116],{"id":1115},[16,1264,1265],{},"Oldingi portfoliom bitta Vue 2 sahifadan iborat edi: kontent shablonlarga qattiq yozilgan, SEO yo‘q, haqiqiy loyihalarni batafsil tasvirlashning imkoni yo‘q, build esa zamonaviy Node’da ishlamay qolgan edi.",[11,1267,1269],{"id":1268},"yondashuv","Yondashuv",[31,1271,1272,1278,1284,1290,1300,1305,1311],{},[34,1273,1274,1277],{},[26,1275,1276],{},"Nuxt 4 bilan statik generatsiya"," — uch tildagi har bir sahifa oldindan HTML’ga render qilinadi, shuning uchun bir zumda ochiladi va to‘liq indekslanadi.",[34,1279,1280,1283],{},[26,1281,1282],{},"Kontent — bu ma’lumot"," — loyihalar va tajriba Nuxt Content’da Zod sxemalari bilan tekshiriladigan Markdown\u002FYAML fayllar. Yangi case study qo‘shish uchun komponentga tegish shart emas.",[34,1285,1286,1289],{},[26,1287,1288],{},"Halol case study’lar"," — tijoriy loyihalar yopiq deb belgilangan, kompaniya reglamenti tufayli kod ochiq emasligi haqida izoh bor, skrinshotlarda shaxsiy ma’lumotlar xiralashtirilgan.",[34,1291,1292,1295,1296,1299],{},[26,1293,1294],{},"Uch til"," — ingliz, o‘zbek va rus tillari, til prefiksli marshrutlar, ",[41,1297,1298],{},"hreflang"," teglari va tarjima qilinmagan kontent uchun inglizcha zaxira.",[34,1301,1302,1304],{},[26,1303,72],{}," — Tailwind CSS v4 ustida semantik rang tokenlari, avtomatik yorug‘\u002Fqorong‘i mavzu va reduced-motion’ni hurmat qiluvchi animatsiyalar.",[34,1306,1307,1310],{},[26,1308,1309],{},"Har doim ishlaydigan aloqa"," — xatni Gmail yoki pochta ilovasida tayyorlab beruvchi qisqa forma, telefon va emailni nusxalash.",[34,1312,1313,1316,1317,1320],{},[26,1314,1315],{},"Klaviatura birinchi"," — istalgan sahifa, loyiha yoki amalga o‘tish uchun ",[41,1318,1319],{},"⌘K"," buyruqlar menyusi.",[11,1322,38],{"id":85},[1324,1325,1329],"pre",{"className":1326,"code":1327,"language":1328,"meta":168,"style":168},"language-txt shiki shiki-themes github-light github-dark","content\u002F\u003Clocale>\u002F{projects,experience}   →  tiplangan kolleksiyalar\napp\u002Fcomposables\u002FuseLocalizedContent.ts   →  zaxira tilli so‘rovlar\napp\u002Fpages\u002F*                              →  ma’lumot olish, bo‘limlarni yig‘ish\napp\u002Fcomponents\u002F{home,project,site,ui}    →  taqdimot komponentlari\nserver\u002Froutes\u002F{sitemap.xml,robots.txt}   →  oldindan render qilingan SEO fayllar\n","txt",[41,1330,1331,1338,1343,1348,1353],{"__ignoreMap":168},[1332,1333,1335],"span",{"class":1334,"line":202},"line",[1332,1336,1337],{},"content\u002F\u003Clocale>\u002F{projects,experience}   →  tiplangan kolleksiyalar\n",[1332,1339,1340],{"class":1334,"line":169},[1332,1341,1342],{},"app\u002Fcomposables\u002FuseLocalizedContent.ts   →  zaxira tilli so‘rovlar\n",[1332,1344,1345],{"class":1334,"line":512},[1332,1346,1347],{},"app\u002Fpages\u002F*                              →  ma’lumot olish, bo‘limlarni yig‘ish\n",[1332,1349,1350],{"class":1334,"line":610},[1332,1351,1352],{},"app\u002Fcomponents\u002F{home,project,site,ui}    →  taqdimot komponentlari\n",[1332,1354,1355],{"class":1334,"line":750},[1332,1356,1357],{},"server\u002Froutes\u002F{sitemap.xml,robots.txt}   →  oldindan render qilingan SEO fayllar\n",[11,1359,1361],{"id":1360},"natija","Natija",[16,1363,1364],{},"Tez, qulay va yangilash oson sayt — yangi loyiha qo‘shish har bir til uchun bitta Markdown fayl yozishdan iborat.",[1366,1367,1368],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":168,"searchDepth":169,"depth":169,"links":1370},[1371,1372,1373,1374],{"id":1115,"depth":169,"text":1116},{"id":1268,"depth":169,"text":1269},{"id":85,"depth":169,"text":38},{"id":1360,"depth":169,"text":1361},"\u002Fimages\u002Fprojects\u002Fportfolio.jpg","Batafsil case study’lar, skrinshot galereyalari, aloqa formasi va ⌘K buyruqlar menyusiga ega ko‘p tilli, statik generatsiya qilingan portfolio — oddiy landing emas, kichik mahsulot sifatida qurilgan.",[],{"source":1379},"https:\u002F\u002Fgithub.com\u002Fyusufdeveloper2903\u002Fmyportfolio",{},[],11,"\u002Fwork\u002Fportfolio",{"title":1258,"description":1376},[1386,208,1387,1388,759,218],"Nuxt 4","Nuxt Content","Tailwind CSS v4","work\u002Fportfolio","2nQ3QpUcyx_94nopb-Twa7GD1A2Od3Ly3WkdBAevyGQ",{"id":1392,"title":1393,"body":1394,"company":591,"confidential":592,"cover":1424,"description":1425,"extension":179,"featured":592,"gallery":1426,"links":1427,"meta":1429,"metrics":1430,"navigation":176,"order":1431,"path":1432,"role":1173,"seo":1433,"stack":1434,"stem":1435,"year":1005,"__hash__":1436},"projects_uz\u002Fwork\u002Ffendos.md","Fendos",{"type":8,"value":1395,"toc":1419},[1396,1398,1401,1403,1414,1416],[11,1397,1116],{"id":1115},[16,1399,1400],{},"Haqiqiy kino ixlosmandlari faqat film ko‘rish bilan cheklanmaydi. Ular hamma narsani bilishni\nxohlaydi — aktyorlar tarkibi, hikoya ortidagi ilhom va so‘nggi yangiliklar.",[11,1402,658],{"id":657},[31,1404,1405,1408,1411],{},[34,1406,1407],{},"Posterlar, reytinglar va chiqish sanalari bilan filmlar katalogi.",[34,1409,1410],{},"Aktyorlar va syujet haqida ma’lumot beruvchi batafsil sahifalar.",[34,1412,1413],{},"Kichik telefonlardan katta ekranlargacha moslashuvchan layout.",[11,1415,954],{"id":953},[16,1417,1418],{},"Tashqi API bilan ishlash yuklanish va xatolik holatlarini oldindan loyihalashni hamda ma’lumot\nolishni taqdimotdan ajratishni o‘rgatdi.",{"title":168,"searchDepth":169,"depth":169,"links":1420},[1421,1422,1423],{"id":1115,"depth":169,"text":1116},{"id":657,"depth":169,"text":658},{"id":953,"depth":169,"text":954},"\u002Fimages\u002Fprojects\u002Ffendos.jpg","Kino ixlosmandlari filmlar, aktyorlar va sevimli kinolari ortidagi hikoyalarni o‘rganishi mumkin bo‘lgan veb-sayt.",[],{"live":1428},"https:\u002F\u002Fnetfmovies.netlify.app",{},[],12,"\u002Fwork\u002Ffendos",{"title":1393,"description":1425},[755,756,1003,757],"work\u002Ffendos","ZAyoCV5nl15mmCuFi44fc5RH0S76TU5mEL-e1hQDT-k",{"id":1438,"title":1439,"body":1440,"company":591,"confidential":592,"cover":1470,"description":1471,"extension":179,"featured":592,"gallery":1472,"links":1473,"meta":1476,"metrics":1477,"navigation":176,"order":1478,"path":1479,"role":1173,"seo":1480,"stack":1481,"stem":1482,"year":1005,"__hash__":1483},"projects_uz\u002Fwork\u002Fmanual.md","Manual",{"type":8,"value":1441,"toc":1465},[1442,1444,1447,1449,1460,1462],[11,1443,1116],{"id":1115},[16,1445,1446],{},"Internetdagi tibbiy ma’lumotlarni o‘qish ham, ularga ishonish ham qiyin. Maqsad murakkab\nma’lumotlarni tushunarli qiladigan sokin va aniq interfeys yaratish edi.",[11,1448,658],{"id":657},[31,1450,1451,1454,1457],{},[34,1452,1453],{},"Kuchli tipografiya va aniq ierarxiyaga ega kontentga yo‘naltirilgan layout.",[34,1455,1456],{},"Davolash usullari, maqolalar va harakatga chaqiruvlar uchun qayta ishlatiladigan bo‘limlar.",[34,1458,1459],{},"To‘liq moslashuvchan dizayn.",[11,1461,954],{"id":953},[16,1463,1464],{},"O‘qilishi oson bo‘lish ham funksiya: bo‘shliqlar, qator uzunligi va kontrast funksionallik kabi muhim.",{"title":168,"searchDepth":169,"depth":169,"links":1466},[1467,1468,1469],{"id":1115,"depth":169,"text":1116},{"id":657,"depth":169,"text":658},{"id":953,"depth":169,"text":954},"\u002Fimages\u002Fprojects\u002Fmanual.jpg","Dori vositalari haqidagi mustaqil va dolzarb ma’lumotlarni iste’molchilar va mutaxassislar uchun tushunarli shaklda taqdim etuvchi sayt.",[],{"live":1474,"source":1475},"https:\u002F\u002Fthemanual.netlify.app","https:\u002F\u002Fgithub.com\u002Fyusufdeveloper2903\u002Fmanual",{},[],13,"\u002Fwork\u002Fmanual",{"title":1439,"description":1471},[755,756,1003],"work\u002Fmanual","Rh8cZcJWYPfmr_MUp62dRkNZAY6e5snRm29iwtex5cs",{"id":1485,"title":1486,"body":1487,"company":591,"confidential":592,"cover":1511,"description":1512,"extension":179,"featured":592,"gallery":1513,"links":1514,"meta":1516,"metrics":1517,"navigation":176,"order":1518,"path":1519,"role":1173,"seo":1520,"stack":1521,"stem":1523,"year":1005,"__hash__":1524},"projects_uz\u002Fwork\u002Fpower-yoga.md","Power Yoga",{"type":8,"value":1488,"toc":1507},[1489,1491,1494,1496],[11,1490,1116],{"id":1115},[16,1492,1493],{},"Power Yoga ko‘plab kurslar taklif qiladi — bel, core, ertalabki mashg‘ulotlar va boshqalar.\nTashrif buyuruvchilar taklifni tez tushunib, mos darsni tanlashi kerak edi.",[11,1495,658],{"id":657},[31,1497,1498,1501,1504],{},[34,1499,1500],{},"Kurslarni mavzular bo‘yicha ko‘rsatuvchi landing sahifa.",[34,1502,1503],{},"Doimiy darslar va yakka mashg‘ulotlar uchun aniq jadval va harakatga chaqiruvlar.",[34,1505,1506],{},"Moslashuvchan va yengil layout.",{"title":168,"searchDepth":169,"depth":169,"links":1508},[1509,1510],{"id":1115,"depth":169,"text":1116},{"id":657,"depth":169,"text":658},"\u002Fimages\u002Fprojects\u002Fpower-yoga.jpg","Mavzuli kurslarni doimiy darslar yoki yakka mashg‘ulotlar sifatida taklif qiluvchi onlayn yoga xizmati sayti.",[],{"live":1515},"https:\u002F\u002Fyoga11.netlify.app",{},[],14,"\u002Fwork\u002Fpower-yoga",{"title":1486,"description":1512},[1522,1003,756],"HTML","work\u002Fpower-yoga","pyu0Z41a_oI9B2bVk_Jk-E5KCACEKu-c6c-GUR9fs7U",{"id":1526,"title":1527,"body":1528,"company":591,"confidential":592,"cover":1552,"description":1553,"extension":179,"featured":592,"gallery":1554,"links":1555,"meta":1557,"metrics":1558,"navigation":176,"order":1559,"path":1560,"role":1173,"seo":1561,"stack":1562,"stem":1563,"year":1005,"__hash__":1564},"projects_uz\u002Fwork\u002Fonline-shop.md","Online Shop",{"type":8,"value":1529,"toc":1548},[1530,1532,1535,1537],[11,1531,1116],{"id":1115},[16,1533,1534],{},"Yangi mahsulotlari tez-tez qo‘shiladigan do‘konga xaridorlar istalgan qurilmada kolleksiyalarni\ntez ko‘rib chiqa oladigan vitrina kerak edi.",[11,1536,658],{"id":657},[31,1538,1539,1542,1545],{},[34,1540,1541],{},"Mahsulotlar ro‘yxati va kolleksiya sahifalari.",[34,1543,1544],{},"Qayta ishlatiladigan mahsulot kartalari va layout komponentlari.",[34,1546,1547],{},"Mobil xaridorlar uchun optimallashtirilgan moslashuvchan dizayn.",{"title":168,"searchDepth":169,"depth":169,"links":1549},[1550,1551],{"id":1115,"depth":169,"text":1116},{"id":657,"depth":169,"text":658},"\u002Fimages\u002Fprojects\u002Fonline-shop.jpg","Mahsulotlar ro‘yxati va kolleksiya sahifalariga ega zamonaviy kiyim-kechak internet-do‘koni.",[],{"live":1556},"https:\u002F\u002Fshops-online.netlify.app\u002F",{},[],15,"\u002Fwork\u002Fonline-shop",{"title":1527,"description":1553},[755,756,1003],"work\u002Fonline-shop","HPcg2-cArt12Q7M3uqv4mMJ--4Y-tQaPwXXdMWnt1lY",[1566,1683,1797,1875],{"id":5,"title":6,"body":1567,"company":175,"confidential":176,"cover":177,"description":178,"extension":179,"featured":176,"gallery":1671,"links":1675,"meta":1676,"metrics":1677,"navigation":176,"order":202,"path":203,"role":204,"seo":1681,"stack":1682,"stem":220,"year":221,"__hash__":222},{"type":8,"value":1568,"toc":1665},[1569,1571,1573,1575,1579,1609,1611,1613,1639,1641],[11,1570,14],{"id":13},[16,1572,18],{},[11,1574,22],{"id":21},[16,1576,1577,29],{},[26,1578,28],{},[31,1580,1581,1587,1597,1601,1605],{},[34,1582,1583,39,1585,44],{},[26,1584,38],{},[41,1586,43],{},[34,1588,1589,54,1593],{},[48,1590,1591,53],{},[26,1592,52],{},[48,1594,1595,61],{":off":57},[26,1596,60],{},[34,1598,1599,67],{},[26,1600,66],{},[34,1602,1603,73],{},[26,1604,72],{},[34,1606,1607,79],{},[26,1608,78],{},[16,1610,82],{},[11,1612,38],{"id":85},[31,1614,1615,1623,1629,1635],{},[34,1616,1617,39,1619,95,1621,100],{},[26,1618,92],{},[41,1620,43],{},[97,1622,99],{},[34,1624,1625,106,1627,110],{},[26,1626,105],{},[41,1628,109],{},[34,1630,1631,116,1633,120],{},[26,1632,115],{},[41,1634,119],{},[34,1636,1637,126],{},[26,1638,125],{},[11,1640,130],{"id":129},[31,1642,1643,1647,1653,1657,1661],{},[34,1644,1645,138],{},[26,1646,137],{},[34,1648,1649,144,1651,148],{},[26,1650,143],{},[41,1652,147],{},[34,1654,1655,154],{},[26,1656,153],{},[34,1658,1659,160],{},[26,1660,159],{},[34,1662,1663,166],{},[26,1664,165],{},{"title":168,"searchDepth":169,"depth":169,"links":1666},[1667,1668,1669,1670],{"id":13,"depth":169,"text":14},{"id":21,"depth":169,"text":22},{"id":85,"depth":169,"text":38},{"id":129,"depth":169,"text":130},[1672,1673,1674],{"src":182,"alt":183,"caption":183},{"src":185,"alt":186,"caption":186},{"src":188,"alt":189,"caption":189},{},{},[1678,1679,1680],{"label":194,"value":195},{"label":197,"value":198},{"label":200,"value":201},{"title":6,"description":178},[207,208,209,210,211,212,213,214,215,216,217,218,219],{"id":224,"title":225,"body":1684,"company":175,"confidential":176,"cover":362,"description":363,"extension":179,"featured":176,"gallery":1784,"links":1789,"meta":1790,"metrics":1791,"navigation":176,"order":169,"path":387,"role":204,"seo":1795,"stack":1796,"stem":394,"year":221,"__hash__":395},{"type":8,"value":1685,"toc":1778},[1686,1688,1690,1692,1700,1734,1736,1738,1754,1756],[11,1687,14],{"id":13},[16,1689,232],{},[11,1691,22],{"id":21},[16,1693,1694,240,1696,54,1698,247],{},[26,1695,239],{},[48,1697,243],{},[48,1699,246],{":off":57},[31,1701,1702,1708,1722,1726,1730],{},[34,1703,1704,39,1706,257],{},[26,1705,38],{},[41,1707,256],{},[34,1709,1710,54,1718],{},[48,1711,1712,264,1714,268,1716,272],{},[26,1713,52],{},[41,1715,267],{},[41,1717,271],{},[48,1719,1720,277],{":off":57},[26,1721,60],{},[34,1723,1724,283],{},[26,1725,282],{},[34,1727,1728,289],{},[26,1729,288],{},[34,1731,1732,294],{},[26,1733,14],{},[16,1735,297],{},[11,1737,38],{"id":85},[31,1739,1740,1746,1750],{},[34,1741,1742,39,1744,309],{},[26,1743,306],{},[41,1745,256],{},[34,1747,1748,315],{},[26,1749,314],{},[34,1751,1752,321],{},[26,1753,320],{},[11,1755,130],{"id":129},[31,1757,1758,1762,1766,1770,1774],{},[34,1759,1760,331],{},[26,1761,330],{},[34,1763,1764,337],{},[26,1765,336],{},[34,1767,1768,343],{},[26,1769,342],{},[34,1771,1772,349],{},[26,1773,348],{},[34,1775,1776,355],{},[26,1777,354],{},{"title":168,"searchDepth":169,"depth":169,"links":1779},[1780,1781,1782,1783],{"id":13,"depth":169,"text":14},{"id":21,"depth":169,"text":22},{"id":85,"depth":169,"text":38},{"id":129,"depth":169,"text":130},[1785,1786,1787,1788],{"src":366,"alt":367,"caption":367},{"src":369,"alt":370,"caption":370},{"src":372,"alt":373,"caption":373},{"src":375,"alt":376,"caption":376},{},{},[1792,1793,1794],{"label":194,"value":381},{"label":197,"value":383},{"label":385,"value":386},{"title":225,"description":363},[390,208,209,210,211,216,391,214,392,393,218],{"id":397,"title":398,"body":1798,"company":175,"confidential":176,"cover":487,"description":488,"extension":179,"featured":176,"gallery":1862,"links":1867,"meta":1868,"metrics":1869,"navigation":176,"order":512,"path":513,"role":514,"seo":1873,"stack":1874,"stem":523,"year":524,"__hash__":525},{"type":8,"value":1799,"toc":1856},[1800,1802,1804,1806,1808,1810,1836,1838],[11,1801,14],{"id":13},[16,1803,405],{},[11,1805,22],{"id":21},[16,1807,410],{},[11,1809,38],{"id":85},[31,1811,1812,1816,1828,1832],{},[34,1813,1814,420],{},[26,1815,419],{},[34,1817,1818,426,1820,430,1822,430,1824,430,1826,440],{},[26,1819,425],{},[41,1821,429],{},[41,1823,433],{},[41,1825,436],{},[41,1827,439],{},[34,1829,1830,446],{},[26,1831,445],{},[34,1833,1834,452],{},[26,1835,451],{},[11,1837,130],{"id":129},[31,1839,1840,1844,1848,1852],{},[34,1841,1842,462],{},[26,1843,461],{},[34,1845,1846,468],{},[26,1847,467],{},[34,1849,1850,474],{},[26,1851,473],{},[34,1853,1854,480],{},[26,1855,479],{},{"title":168,"searchDepth":169,"depth":169,"links":1857},[1858,1859,1860,1861],{"id":13,"depth":169,"text":14},{"id":21,"depth":169,"text":22},{"id":85,"depth":169,"text":38},{"id":129,"depth":169,"text":130},[1863,1864,1865,1866],{"src":491,"alt":492,"caption":492},{"src":494,"alt":495,"caption":495},{"src":497,"alt":498,"caption":498},{"src":500,"alt":501,"caption":501},{},{},[1870,1871,1872],{"label":506,"value":507},{"label":385,"value":509},{"label":194,"value":511},{"title":398,"description":488},[517,208,518,519,211,212,213,520,216,521,522,391,217,218],{"id":527,"title":528,"body":1876,"company":591,"confidential":592,"cover":593,"description":594,"extension":179,"featured":176,"gallery":1916,"links":1917,"meta":1918,"metrics":1919,"navigation":176,"order":610,"path":611,"role":612,"seo":1923,"stack":1924,"stem":619,"year":524,"__hash__":620},{"type":8,"value":1877,"toc":1911},[1878,1880,1885,1887,1907,1909],[11,1879,534],{"id":533},[16,1881,1882,544],{},[538,1883,543],{"href":540,"rel":1884},[542],[11,1886,548],{"id":547},[31,1888,1889,1893,1897,1901],{},[34,1890,1891,556],{},[26,1892,555],{},[34,1894,1895,562],{},[26,1896,561],{},[34,1898,1899,568],{},[26,1900,567],{},[34,1902,1903,574,1905,578],{},[26,1904,573],{},[41,1906,577],{},[11,1908,582],{"id":581},[16,1910,585],{},{"title":168,"searchDepth":169,"depth":169,"links":1912},[1913,1914,1915],{"id":533,"depth":169,"text":534},{"id":547,"depth":169,"text":548},{"id":581,"depth":169,"text":582},[],{"live":597,"source":598},{},[1920,1921,1922],{"label":602,"value":603},{"label":605,"value":606},{"label":608,"value":609},{"title":528,"description":594},[208,615,616,617,618],[1926,1944,1956,1972,1986],{"id":1927,"company":175,"end":591,"extension":1928,"frontendHighlights":1929,"highlights":1934,"location":1937,"meta":1938,"order":202,"role":1939,"stack":1940,"start":1941,"stem":1942,"url":591,"__hash__":1943},"experience_uz\u002Fuz\u002Fexperience\u002F01-longhorn.yml","yml",[1930,1931,1932,1933],"Bot Manager’ni noldan qurganman va unga rahbarlik qilaman (~80% commitlar): arxitektura, real vaqtli STOMP qatlami, RBAC va AQShdagi park kompaniyasi uchun Telegram’simon operatsion panel.","Dyzlix yoqilg‘i boshqaruvi platformasini noldan qurganman: arxitektura, sifat darvozalari, dizayn tizimi va HERE Maps’da jonli kuzatuv.","2026-yildan beri Load Up’da funksiyalar chiqaraman: jonli load board, WebRTC qo‘ng‘iroqlari, park va xavfsizlik modullariga ega yirik React 19 TMS.","Mahsulotlar bo‘ylab vositalarni standartlashtirdim: Vite, TypeScript, TanStack Query, Vitest va Playwright, Conventional Commits va pre-push sifat darvozalari.",[1935,1936,1932,1933],"Bot Manager’ni noldan qurganman va unga rahbarlik qilaman (~80% commitlar): arxitektura, infratuzilma (Docker, CI\u002FCD deploy), real vaqtli STOMP qatlami, RBAC va AQShdagi park kompaniyasi uchun Telegram’simon operatsion panel.","Dyzlix yoqilg‘i boshqaruvi platformasini noldan qurganman: arxitektura, Docker\u002Fnginx infratuzilmasi, sifat darvozalari, dizayn tizimi va HERE Maps’da jonli kuzatuv.","Toshkent, O‘zbekiston",{},"Frontend Developer · Frontend lead",[390,517,208,211,210,520,216,521,214,218,219],"2024-10","uz\u002Fexperience\u002F01-longhorn","U4pbBcnu2MyJnmKf_f5inZIvz4D1Y2jvAI-DdSgMmTM",{"id":1945,"company":1946,"end":591,"extension":1928,"frontendHighlights":591,"highlights":1947,"location":1950,"meta":1951,"order":169,"role":612,"stack":1952,"start":1953,"stem":1954,"url":591,"__hash__":1955},"experience_uz\u002Fuz\u002Fexperience\u002F02-expensify.yml","Expensify (open source)",[1948,1949],"Expensify’ning web, iOS va Android’da ishlaydigan production React Native ilovasiga 25 ta pull request’im merge qilingan.","Xarajat hisobotlari, qidiruv, offline\u002Foptimistik yangilanishlar, workspace boshqaruvi va navigatsiya bo‘yicha xatolarni tuzatdim va funksiyalar qo‘shdim.","Masofaviy",{},[208,615,616,617,618],"2026-05","uz\u002Fexperience\u002F02-expensify","_7VvPBsTykqQWiFOYdotvGx6jiaOp25ESGGpAZmtKbw",{"id":1957,"company":1958,"end":1959,"extension":1928,"frontendHighlights":591,"highlights":1960,"location":1937,"meta":1965,"order":512,"role":1966,"stack":1967,"start":1968,"stem":1969,"url":1970,"__hash__":1971},"experience_uz\u002Fuz\u002Fexperience\u002F03-zk.yml","Zamonaviy Kommunikatsiyalar","2024-09",[1961,1962,1963,1964],"2012-yildan beri faoliyat yuritayotgan (100+ loyiha) toshkentlik IT kompaniya: banklar, telekom va davlat tashkilotlari uchun dasturlar.","Hunarda ta’lim platformasining admin panelini qildim: admin, o‘qituvchi va talaba rollari, kurslar, 5 ta to‘lov tizimi, chat, statistika va Excel eksporti.","Ekologiya qo‘mitasi uchun Ecology Check’ni ishlab chiqdim: idoralar bo‘limlari, ifloslanish issiqlik xaritalari, O‘zbekistonning mavzuli xaritalari, hududiy monitoring ma’lumotlari va klassifikatorlar.","Banklar va savdo korxonalari uchun CRM tizimlarini yaratdim va qo‘llab-quvvatladim.",{},"Frontend Developer (Vue.js)",[755,756,208,391,393],"2022-05","uz\u002Fexperience\u002F03-zk","https:\u002F\u002Fzk.uz","kuDYqvmO19KNJ3_ElnMfBAZWoc7ND9fjGaaSrdZh0b0",{"id":1973,"company":1974,"end":1975,"extension":1928,"frontendHighlights":591,"highlights":1976,"location":1937,"meta":1981,"order":610,"role":1966,"stack":1982,"start":1983,"stem":1984,"url":934,"__hash__":1985},"experience_uz\u002Fuz\u002Fexperience\u002F04-invan.yml","Invan (tiin IT bo‘limi)","2022-12",[1977,1978,1979,1980],"Toshkentdagi tiin do‘konlar tarmog‘ining IT bo‘limida Invan — savdoni avtomatlashtirish platformasi (POS, ombor, CRM) ustida ishladim.","Admin panel modullarini yaratdim: buyurtmalar, mahsulotlar, ombor qoldig‘i, mijozlar, analitik grafiklar, bildirishnomalar va Excel eksporti.","Moslashuvchan invan.uz landing sahifalarini ishlab chiqdim.","Production loyihalardagi xatolarni tuzatdim va biznes talabi bo‘yicha yangi modullar qo‘shdim.",{},[755,998,1001,1002,1003],"2022-09","uz\u002Fexperience\u002F04-invan","gm4XMPeEMAaeETaKPdsrRQ_4WNaOTU3F30Zr1CkU6ZY",{"id":1987,"company":1067,"end":1988,"extension":1928,"frontendHighlights":591,"highlights":1989,"location":1937,"meta":1993,"order":750,"role":1994,"stack":1995,"start":1996,"stem":1997,"url":1089,"__hash__":1998},"experience_uz\u002Fuz\u002Fexperience\u002F05-sqb.yml","2021-09",[1990,1991,1992],"Sherigim bilan SQB bankining qurilish materiallari marketpleysi — Quramiz.uz UI’ni yaratib, production’ga chiqardik.","Vue 2 va Vuex’da katalog, kategoriya filtrlari, mahsulot sahifalari, savatcha va mobil layoutni qildim.","Senior dasturchi rahbarligida production’da Vue.js’ni o‘rgandim.",{},"Stajyor frontend dasturchi (Vue.js)",[1102,998,999,1000],"2021-01","uz\u002Fexperience\u002F05-sqb","30cjAJG3tz6qV43GL8kMP9SajvXdqFT1KTnR-hXiyGw",1791207293024]