Skip to content

Instantly share code, notes, and snippets.

View Dostonlv's full-sized avatar
🧪
experimenting

Doston Dostonlv

🧪
experimenting
View GitHub Profile
@Dostonlv
Dostonlv / task2.md
Last active September 12, 2026 09:03

Task: Kuryerlar uchun to'lov (payout) hisoblash tizimi (til erkin)

Kontekst: kuryerlar buyurtma yetkazadi. Har oy oxirida har bir kuryer uchun o'sha oyda delivered bo'lgan buyurtmalar bo'yicha komissiya hisoblanadi va to'lanadigan summa (payout) chiqariladi. Bu yerda pul bilan ishlanadi, shuning uchun tizim ikki marta hisoblab qo'ymasligi va parallel so'rovlarga chidamli bo'lishi kerak.

Til, framework, kutubxona — ixtiyoringizda. Yagona shart: PostgreSQL va Docker'da bitta buyruq bilan ko'tarilishi kerak.

Kerakli jadvallar (nomi farqi yo'q, mantiq muhim):

couriers — kuryer (ism, telefon, ishga tushgan sana) orders — buyurtma (courier_id, summa, status: pending/delivered/cancelled/returned, delivered_at)

@Dostonlv
Dostonlv / task.md
Last active September 8, 2026 13:27
order service va inventory

Task: Concurrent Order & Inventory Reservation Service (til erkin)

Kontekst: Mini marketplace uchun buyurtma va ombor boshqaruvchi backend service. til, framework, kutubxona — ixtiyoringizda. Yagona shart: HTTP API orqali ishlashi va Docker'da ko'tarilishi kerak.

Funktsional talablar:
POST /products — mahsulot yaratish (name, price, stock_quantity)
POST /orders — bir nechta item'li buyurtma, Idempotency-Key header majburiy (bir xil key bilan qayta yuborilsa, stock ikkinchi marta kamaymasligi kerak)

package main
import (
"fmt"
)
type State interface {
Next(o *Order)
Name() string
}
package test
import (
jsoniter "github.com/json-iterator/go"
"github.com/gofiber/fiber/v2"
)
var bufferPool = sync.Pool{
New: func() any {
return new(bytes.Buffer)
package config
import (
"fmt"
"genproto/geo_service"
"os"
"github.com/joho/godotenv"
"github.com/spf13/cast"
)
name: CI/CD Pipeline
on:
push:
branches:
- feat/cd
jobs:
build_and_deploy:
runs-on: ubuntu-latest
name: CI/CD Pipeline for Go Services with PM2
on:
push:
branches:
- feat/ci
jobs:
build-and-deploy:
runs-on: ubuntu-latest
@Dostonlv
Dostonlv / payment.go
Created November 27, 2024 10:20
dependency injection usage
package main
import (
"errors"
"fmt"
"log"
"time"
)
// Models
# Don't print a new line at the start of the prompt
add_newline = true
[character]
success_symbol = "[λ](bold fg:129)"
error_symbol = "[λ](bold fg:160)"
[bun]
format = "via [$symbol]($style)"