Telegramda yozing@Odilient

OCHIQ KOD

Ochiq kodga hissalarimiz

PHP, Laravel va Vue.js ekotizimlari, TigerBeetle, Warp va SI vositalari bo‘yicha ochiq kodli ishlarimiz: asosiy loyihalarga (upstream) tuzatishlar, xato hisobotlari, MIT litsenziyali vositalar va starter kitlar.

Ochiq kod
Mijoz
Dasturchilar uchun vositalar
Soha
2021-yildan beri davom etmoqda
Muddat
2021
Yil
Boshlang‘ich nuqta

Muammo

Biz quradigan narsalarning aksariyati ochiq kodli dasturlarga tayanadi: Laravel va Filament, Symfony komponentlari, Vue.js, Chart.js plaginlari va tobora ko‘payib borayotgan SI va avtomatlashtirish vositalari. Bu bog‘liqliklar production’da buzilsa, uzoq muddatli tuzatish keyingi yangilanishda yo‘qolib ketadigan shaxsiy patch’da emas, asosiy loyihaning o‘zida (upstream) bo‘lishi kerak. Shuningdek, o‘z ishimizning qayta ishlatsa bo‘ladigan qismlari — starter kitlar, CLI’lar va xakaton vositalari — boshqalar uchun ham ochiq bo‘lishini xohladik.

Biz nima qildik

Yechim

Biz tayanadigan loyihalarga tuzatishlarni qaytarib yuboramiz va o‘z vositalarimizni chop etamiz. Bular orasida Filament’ga qabul qilingan tuzatish, DoctrineBundle uchun taklif qilingan tuzatish, hh-applicant-tool’ga qabul qilingan va taklif qilingan tuzatishlar, reaktiv frontend freymvorklari uchun Chart.js plaginiga qabul qilingan o‘zgartirish, Warp xato hisoboti va TigerBeetle moliyaviy hisob bazasini o‘rganish bor. Ochiq repozitoriylarimiz orasida Laravel va Vue starter kitlari, MIT litsenziyali OpenAPI CLI va beshta MIT litsenziyali SI xakaton vositasi bor.

Texnologiyalar
PHPLaravelFilamentSymfonyVue.jsPythonTypeScriptChart.js
Parda ortida

Loyiha qanday yaratildi

PHP, Laravel, Vue.js va SI vositalari bo‘yicha ochiq kodga hissalar

Jamoamiz har kuni ishlatadigan ochiq kodli ekotizimlarga hissa qo‘shadi: PHP va Laravel, Vue.js, TigerBeetle, Warp va turli SI hamda avtomatlashtirish vositalari. Yondashuv doim bir xil. Bog‘liqlik production’da buzilsa yoki yetarli bo‘lmasa, uni tuzatish kerak bo‘lgan joyda tuzatamiz va asosiy loyihaga yuboramiz. Qayta ishlatsa bo‘ladigan narsa yaratsak, uni chop etamiz.

Bu sahifada o‘sha ishning ommaviy tomoni jamlangan: asosiy loyihalarga pull request’lar, xato hisobotlari, biz baholayotgan infratuzilma bo‘yicha tadqiqotlar va o‘zimizning ochiq kodli repozitoriylarimiz.

Asosiy loyihalarga pull request’lar va issue’lar

  • Filament (Laravel) — Filament — biz Laravel back-ofislari, jumladan Bronjoy’niki uchun ishlatadigan admin panel va UI freymvorki. Undagi tablar vertikal bo‘yicha tekislangan, ammo gorizontal bo‘yicha markazlashmagan edi, shuning uchun tab elementining Blade shabloniga justify-center qo‘shdik va o‘zgarishni «oldin/keyin» skrinshotlari bilan hujjatlashtirdik. Pull request 2024-yil noyabrida qabul qilindi.
  • DoctrineBundle (Symfony va PHP) — 2024-yil fevralida Doctrine ORM va DBAL uchun Symfony bundle’ida bir nechta ta’riflar muammosini tuzatishni taklif qildik. U qabul qilinmasdan yopildi.
  • Chart.js range-select plagini (JavaScript) — Chart.js diagrammalarida sichqoncha bilan sudrab oraliq tanlash uchun kichik plagin. U reaktiv frontend freymvorklari ichida — biz topshiradigan Vue.js dashboardlari ortidagi freymvorklarda — ishlashi uchun tekshiruvlar qo‘shdik va o‘zgarish 2025-yil yanvarida qabul qilindi.
  • hh-applicant-tool (Python va SI) — HH.ru’da ishga ariza topshirishni avtomatlashtiradigan, jumladan motivatsion xatlarni SI yordamida yozadigan mashhur ochiq kodli CLI. Uni yangi serverda Docker’da joylashtirayotganda HH.ru parol bilan kirish tugmasi nomini o‘zgartirganini va yangi server IP manzilidan OAuth sahifasining birinchi yuklanishi 30–45 soniya davom etishini aniqladik. Selektor va navigatsiya taymautiga oid tuzatishimiz 2026-yil iyulida qabul qilindi. Ikkinchi, kattaroq pull request SI motivatsion xatlari va ish beruvchilarga javoblar uchun ishonchlilikni oshiruvchi tuzatishlarni taklif qildi, jumladan har bir cron ishga tushishida o‘qilmagan chatlarga xabarlarni qayta yuborishi mumkin bo‘lgan xatoni. U qabul qilinmasdan yopildi. To‘liq tarix ishga ariza topshirishni avtomatlashtirish keysimizda.
  • Warp (terminal) — Linux’da Warp’dan foydalanuvchilar sifatida Ubuntu 24.04’da xato haqida xabar berdik: oldingi buyruq chiqishidan matn belgilanganda noto‘g‘ri belgilar ajratib ko‘rsatilardi, garchi nusxalangan matn to‘g‘ri bo‘lsa ham. U «rejalashtirilmagan» deb yopildi.

TigerBeetle va moliyaviy hisob (ledger) infratuzilmasi

TigerBeetle bo‘yicha ishimiz kod emas, balki tadqiqot va bilim almashish bo‘ldi. Moliyaviy tranzaksiyalar uchun maxsus qurilgan TigerBeetle ma’lumotlar bazasini o‘rganib chiqdik va e’tiborimizni tortgan jihatlar haqida maqola chop etdik: ikki tomonlama yozuv to‘g‘riligi (debet kreditga teng) bazaning o‘zi tomonidan ta’minlanishi, o‘rnatilgan audit izi va o‘zgarmaslik hamda soddalikni ustun qo‘yadigan ekspluatatsiya falsafasi — hatto Docker o‘rniga systemd’ni tavsiya qilishgacha. Fintex mahsulotlari uchun infratuzilma tavsiya qilishdan oldin aynan shunday baholash o‘tkazamiz.

O‘zimizning ochiq kodli loyihalarimiz

  • Starter kitlar — MIT litsenziyali Laravel JWT autentifikatsiya API starteri va unga mos, tez prototiplash uchun Vue JWT autentifikatsiya starteri, shuningdek, qatlamli, domenga yo‘naltirilgan andozalarni hujjatlashtiradigan Laravel korporativ API uchun namunaviy arxitektura.
  • Dasturchilar uchun CLI va utilitalar — openapi-domainify — OpenAPI spetsifikatsiyasini bitta monolit generatsiya qilingan fayl o‘rniga domenlar bo‘yicha TypeScript servis klasslariga ajratadigan CLI, hamda kataloglar va zip yoki gzip arxivlari ichidagi XML va JSON fayllarni tahlil qiladigan Laravel konsol buyrug‘i.
  • Laravel ekotizimi uchun patchlar — Laravel kod generatori Vemto uchun Filament plaginining livewire/livewire bog‘liqligi olib tashlangan ochiq, tuzatilgan nusxasi.
  • Telegram — Finfolio, oddiy JavaScript’da yozilgan MIT litsenziyali Telegram mini-ilova starteri.
  • Xakatonlardan SI vositalari — 2026-yil iyulida AMD Developer Hackathon’da qurilgan va namoyish etilgan beshta MIT litsenziyali vosita: Keystone — LLM taklif qiladigan, solver qaror qiladigan va verifikator sertifikatlaydigan qaror mexanizmi; RecipeReel — pazandachilik videolarini tartibli retseptlarga aylantiradi; LectureLoom — ma’ruza videolarini o‘quv konspektiga aylantiradi; Legible — SI yordamida hujjatlarni qulaylik talablariga moslaydi; Testify — qat’iy tartibga solinadigan telefon qo‘ng‘iroqlarining talablarga muvofiqligini tekshiradi. UM Hackathon 2026’dagi loyihamiz Opus Magnum ham ochiq.
  • Klubning ochiq kod bazasi — XCeed Football Cup ortidagi Next.js va Supabase asosidagi turnir platformasi Pitch ochiq repozitoriyda ishlab chiqiladi; biz u yerga turnirning hayot sikli, hisob yurituvchi (scorekeeper) va qator darajasidagi xavfsizlik bo‘yicha ishlarimizni qo‘shganmiz.

Ochiq kodda qanday ishlaymiz

  • Tuzatish kerak bo‘lgan joyda tuzating. Loyihaga ko‘chirib olingan kodga qo‘yilgan mahalliy patch keyingi yangilanishda o‘chib ketadi. Asosiy loyihadagi tuzatish esa har bir foydalanuvchini, jumladan bizni ham himoya qiladi.
  • Avval xatoni takrorlang. Pull request’larimiz nosozlikni, uni qanday takrorlaganimizni va tuzatish qanday sinalganini tasvirlaydi — masalan, yangi server IP manzilidan haqiqiy akkaunt bilan.
  • To‘liq tarixni ko‘rsating. Har bir pull request ham qabul qilinavermaydi va biz bunday holatlarni ham shu yerda sanab o‘tamiz.
  • Qayta ishlatsa bo‘ladiganini chop eting. Starter kitlar, CLI’lar va xakaton vositalari imkon qadar erkin litsenziyalar ostida chiqariladi.

Tegishli ishlar

Bu ochiq kod tajribasi to‘g‘ridan-to‘g‘ri mijozlar loyihalariga xizmat qiladi: veb-ilovalar yaratish loyihalarimizdagi Laravel va Filament back-ofislari hamda sun’iy intellekt integratsiyasi va avtomatlashtirish ishlaridagi SI vositalari. Bitta hissa production’da qanday ishlashini batafsil ko‘rish uchun ishga ariza topshirishni avtomatlashtirish keysiga qarang.

Birga yaratamiz

Ochiq kodga hissalarimiz kabi loyiha kerakmi?

Mahsulotingiz nima qilishi kerakligini ayting. Ish hajmini belgilaymiz, muddatlarni rejalashtiramiz va qat’iy narx yuboramiz — bepul va davom ettirish majburiyatisiz.

Bepul konsultatsiya Majburiyatsiz Tezkor javob