Restoranlar boʻyicha qoʻllanma

JoyTop

joy-top.uz ishlamoqda: xarita, qidiruv, muharrir toʻplamlari va joy egalari uchun yoʻli bor Toshkent ovqatlanish qoʻllanmasi. Sayt, mobil ilova va Telegram bot bitta maʼlumotlar bazasida ishlaydi.

Biz bilan bogʻlaningSayt · joy-top.uz

JoyTop: joy-top.uz

«Find · Taste · Connect» — Toshkent qayerda ovqatlanishni shu qoʻllanma orqali tanlaydi.

Toshkentda ovqatlanish boʻyicha qoʻllanma: uni reklama emas, mahalliy mualliflar tuzadi. Tanlangan joylar, tekshirilgan menyu va haqiqiy narxlar, muharrir toʻplamlari va xarita. JoyTop — oʻz mahsulotimiz: Nodirxon uning hammuassisi va texnik direktori.

Mahsulot strategiyasi · UI/UX dizayn · Full-stack ishlab chiqish · Muharrirlik tizimi

Restoran roʻyxatlarida pul toʻlagan yuqorida turadi, menyular esa allaqachon eskirgan.

Toshkentda odamlar qayerda ovqatlanishni roʻyxatlardan tanlaydi, u yerda esa pul toʻlagan yuqoriroq chiqadi. Bunday roʻyxatlardagi menyu va narxlar eskiradi.

JoyTop joylarni mahalliy mualliflar tanlaydigan, har bir kartochkada haqiqiy menyu va haqiqiy narxlar turadigan qoʻllanma sifatida oʻylangan — bir vaqtning oʻzida saytda, mobil ilovada va Telegram botda.

Qoʻllanma qoidalarini odamlar xotirasiga emas, bazaga va xaritaga yozdik.

Xaritadagi belgining koʻrinishini koddagi qoida hal qiladi: ekspert tanlovi eng koʻzga tashlanadigan belgini oladi, menyusi va surati yoʻq joy esa oddiy nuqta. Joy tarifiga nima kirishini maʼlumotlar bazasi hal qiladi. Sayt, ilova va bot aynan bir xil yozuvlarni oʻqiydi.

  1. 01

    Veb va mobil ilova uchun bitta umumiy joy modelidan foydalanish.

  2. 02

    Yaqin joylarni topish va xaritani bitta geografik maʼlumotlar bazasiga qurish.

  3. 03

    Reytingni tahririy saqlash va menyu, toʻplam hamda tekshiruv uchun boshqaruv vositalarini berish.

  4. 04

    Xaritadagi belgi koʻrinishini qoida bilan belgilash: ekspert tanlovi eng koʻzga tashlanadigan belgini oladi, toʻliq maʼlumoti yoʻq joy esa oddiy nuqta boʻladi.

Bu JoyTop dizayni — uning oʻz kodidan qaytadan yigʻilgan.

Pastdagi oyna rasm emas. Fraunces va DM Sans shriftlari, tokenlardagi koʻk va toʻq sariq ranglar, piyola shaklidagi xarita belgisi va baho muhri JoyTop manba kodidan jonli qayta yigʻilgan. Xarita chizilgan va haqiqiy shaharni koʻrsatmaydi, undagi joylar esa namunalar. Yonida solishtirish uchun ommaviy joy-top.uz saytining skrinshotlari.

Метки на карте

Образец А

Национальная

4,9312 оценок

Образец Б

Плов

4,687 оценок

Образец В

Шашлык

Bu skrinshot emas — JoyTop manba kodi boʻyicha jonli HTML va CSS. Belgini tanlang: u joy-top.uz dagidek kattalashadi, pastda esa joy qatori paydo boʻladi.

Shriftlar
Fraunces · 300–700
DM Sans · 300–700
JetBrains Mono · 500
Ranglar
  • --jt-blue-700 #0f1a6c
  • --jt-blue-900 #060a38
  • --jt-orange-500 #f6a34e
  • --jt-orange-700 #c77e2e
  • --jt-cream-100 #fbf8f4
  • --jt-cream-300 #f3efeb
  • --jt-ink-900 #15140f
  • --jt-ink-500 #514e42
  • --border-default rgba(15, 26, 108, 0.16)
  • primary #2D4AA8
Burchaklar
4px · .seal
12px · .searchBtn
16px · .searchBar
Harakat
scale(1.34)setPinActive()
0.18s cubic-bezier(.2,.8,.2,1)pin image
Manba
web/src/styles/tokens.css
web/tailwind.config.ts
web/app/fonts.ts
web/app/[locale]/map/map.module.css
web/app/[locale]/map/components/MapNav.tsx
web/app/[locale]/map/markerDom.ts
web/app/[locale]/map/pinAsset.ts
web/public/brand/logomark.svg
web/components/collections/Seal.tsx
web/components/collections/Seal.module.css
Noutbukda joy-top.uz bosh sahifasining chap yarmi: JoyTop belgisi va «Ташкент начинается здесь.» sarlavhasi.Telefonda joy-top.uz bosh sahifasi: sarlavha, qidiruv va mashhur soʻrovlar.
joy-top.uz ommaviy saytining skrinshotlari, 26.09.2026 da olingan. Tizimga kirmasdan, narxlarsiz.

Tuzatishdan oldin oʻlchadik, qoidalarni esa chetlab oʻtib boʻlmaydigan joyga qoʻydik.

Bitta fazoviy maʼlumotlar tizimi ommaviy veb mahsulot, mobil ilova, Telegram bot va katalog ortidagi operatsion vositalarni ishlatadi.

Interfeyslar
Next.js veb, Expo mobil ilova va Telegraf bot
Maʼlumot
PostgreSQL, Supabase, PostGIS, fayl ombori va satr darajasidagi kirish siyosatlari
Topish
MapLibre hamda Postgres ichida birlashtirilgan matnli, trigram va prefiks qidiruvi
  • Qidiruv oddiy matn maydoni emas

    Vaznli matn qidiruvi, noaniq trigram mosligi va prefiks natijalari reciprocal-rank fusion orqali birlashadi. Shu sabab aniq nom, soʻz shakli va xato yozuv bitta yoʻlda ishlaydi.

  • Joylashuv maʼlumot modelining bir qismi

    PostGIS yaqin joylarni topish va koʻp darajali xaritani veb, mobil hamda operatsiyalar ishlatadigan oʻsha restoran yozuvlaridan quradi.

  • Har bir rol boshqariladigan yuzaga ega

    Oʻquvchi, restoran egasi, ekspert va administrator bitta backenddan foydalanadi, satr siyosatlari hamda server funksiyalari esa tenant va tahrir chegaralarini himoya qiladi.

  • Tashqi qidiruv nazoratli zaxira boʻlib qoladi

    Ichki katalogda natija kam boʻlsa, keshlangan Yandex natijalari faqat restoran toifalari filtridan oʻtgach qoʻshiladi va JoyTop manbasini almashtirmaydi.

  1. 01

    Sekin xaritani oʻlchov bilan tahlil qildik

    Zaxira maʼlumot boʻlmaganda xarita uzoq ochilardi. 14.08.2026 da buni ishlayotgan saytda oʻlchadik: javobning deyarli yarmini har bir joyda takrorlangan bir xil maydon nomlari egallagan edi. Yangi formatda nomlar bir marta keladi va xuddi shu maʼlumotda javob ikki baravar kichik. Odamlarda allaqachon oʻrnatilgan ilovalar eski formatni olishda davom etadi.

    Sabab taxmin bilan emas, oʻlchov bilan topildi — ilovasi allaqachon oʻrnatilganlar uchun esa hech narsa buzilmadi.

  2. 02

    Ikki SMS oʻrniga bitta — sinov yuborishida

    Kirill yozuvidagi kirish kodi ikki pullik SMS qismiga boʻlinib ketardi. Matnni lotin yozuvida yozdik va har bir belgini tekshirdik: hatto oʻzbekcha ʻ belgisi ham ikkinchi qismni qaytarardi. 04.08.2026 da test raqamiga yuborilgan xabar bitta qismda keldi — 220–320 soʻm oʻrniga 110 soʻm.

    Bunday kirish matni 2–3 baravar arzon — bu hisob-kitob emas, haqiqiy yuborish natijasi.

  3. 03

    Bitta shikoyat — bir nechta sabab

    Foydalanuvchi uchun kirishdagi har qanday nosozlik bir xil koʻrinadi: kod kelmadi. Shu alomat ortidagi har bir sababni va har biri uchun haqiqiy xatoni yozib qoʻydik. Kirish xizmati xato matnini yashiradi, shuning uchun yoʻriqnomada uni qanday oʻqish yozilgan.

    Kirishdagi nosozlik bitta odamning xotirasidan emas, yozuvdan topiladi.

  4. 04

    Taxminsiz katalog

    Katalog ochiq manbalar asosida joyma-joy toʻldirilgan va har bir qabul qilingan fakt uchun manba va ishonch darajasi yozilgan. Avtomatika faqat boʻsh maydonlarni toʻldiradi — yozilganini faqat inson almashtira oladi. Joy yopilgan, nomini oʻzgartirgan, sayti endi boshqaga tegishli yoki boshqa joyni takrorlasa, tizim taxmin qilmaydi: uni nomlangan sabab bilan qoʻlda tekshirishga qoldiradi.

    Joy kartochkasida begona telefondan koʻra boʻsh maydon yaxshiroq.

  5. 05

    Tarifni baza ushlab turadi

    Joy tarifiga nima kirishini ilova ekrani emas, maʼlumotlar bazasi tekshiradi. Obuna tugaganda joy asosiy tarifga qaytadi va unda menyuning 81-pozitsiyasini baza qabul qilmaydi. Tarifni aniqlab boʻlmasa, asosiysi amal qiladi, bir vaqtdagi ikkita qoʻshish esa limitdan birgalikda oʻtib keta olmaydi.

    Tarif saytda, ilovada va bazaning oʻzida bir xil maʼnoni anglatadi.

Repozitoriyning asosiy tarmogʻida 429 ta maʼlumotlar bazasi migratsiyasi · saytning 58 ta sahifasi. 26.09.2026 da oʻzimiz sanadik.

Kartochka begona telefonni koʻrsatmaydi, tarifni esa ilova orqali chetlab boʻlmaydi.

Egasi uchun bu quyidagini anglatadi. Tarifga nima kirishini baza tekshiradi, shuning uchun sayt, ilova va bot bir-biridan farq qilmaydi. Katalogdagi shubhali yozuv taxmin qilinmaydi — insonni kutadi. SMS orqali kirish buzilsa, sabab yozuvdan topiladi. Sekin joy esa avval oʻlchanadi, keyingina qayta yoziladi.

Biznesingizga shunday tizim kerakmi?

Vazifani ikki-uch gapda yozing. Oʻsha ish kunining oʻzida javob beramiz va suhbat vaqtini taklif qilamiz.

Biz bilan bogʻlaningVazifani Telegramda muhokama qilish

  • Toshkent vaqti bilan oʻsha ish kunining oʻzida javob beramiz.
  • Nodirxonga yozing — u vazifangizga kerakli jamoa aʼzosini jalb qiladi.