Skip to content
View Shohruh1997's full-sized avatar

Block or report Shohruh1997

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Shohruh1997/README.md

Шохрух Рузиев

Backend-разработчик · интеграции и внутренние системы · Ташкент

PHP MySQL SQLite Node.js Telegram

Опыт Специализация Локация


🔒 Про исходный код

Репозитории с кодом рабочих систем приватные — это осознанное решение, а не отсутствие проектов. Доступ выдаю по запросу: напишите, и я открою нужный репозиторий или проведу по коду на созвоне.

Публично здесь — разборы архитектуры и схем БД с диаграммами и объяснением принятых решений, плюс открытая библиотека под MIT. По ним видно, как я проектирую и как пишу код, без раздачи продуктов.


🛠️ Чем занимаюсь

Пишу бэкенд для систем, где важен учёт и деньги: складские остатки, начисления и оплаты, документы, интеграции с внешними сервисами.

Что делаю чаще всего

  • Интеграции с платёжными системами и фискальным контуром
  • Внутренние системы учёта: склад, заказы, задолженности
  • Telegram-боты с оплатой и админ-панелью
  • REST API и вебхуки, обмен между системами
  • Разбор и доведение чужого кода до продакшена

Чем отличаюсь

  • Локальные API Узбекистана: платежи, ИКПУ, ЭДО, фискализация
  • Идемпотентность и денежный контур — как норма, а не как фича
  • Проектирую схему так, чтобы на вопрос «почему стало 12» был ответ
  • Пишу понятную документацию решений, а не только код

💻 Открытый код

Обработчик вебхука выполняется ровно один раз, сколько бы раз провайдер его ни прислал. Захват доставки через UNIQUE-индекс, повтор получает сохранённый ответ, протухший захват перехватывается. Ноль зависимостей, хранилище — MySQL или SQLite.

Tests PHP Зависимости

68 проверок, каждый сценарий прогоняется против in-memory и против реального SQLite через PDO


📚 Публичные разборы

Заметки по реальным продакшен-системам: схемы, решения, причины. Диаграммы рендерятся прямо в README.

ER-схемы трёх систем: складской учёт, CRM учебного центра, внутренняя панель. Почему движения неизменяемы, зачем составной ключ, как закладывается мультиарендность.
8 диаграмм · 89 таблиц разобрано

Складской учёт: документы, движения, остатки, себестоимость. Где разваливается наивная схема с одним полем quantity.
Резерв, сторно, средневзвешенная

Payme, Click, Uzum — три разные интеграции за одним интерфейсом. Состояния платежа, идемпотентность вебхука, проверка подписи.
Почему повтор не должен начислять дважды

ИКПУ, онлайн-касса, фискализация онлайн-оплат через комиссионера, ЭСФ, маркировка Asl Belgisi — глазами разработчика.
Где чеки молча перестают уходить

Domain, Application, Infrastructure, Interfaces на реальной складской CRM. Правило зависимостей и где его нарушают.
Плюс вопросы для собеседования по теме

Bot API против MTProto: почему userbot нельзя на serverless, защита от повторной доставки, состояние диалога в базе.
Граница между конструктором и разработкой


💼 Опыт

Backend-разработчик · с октября 2021 по настоящее время

Интеграции CRM с внешними сервисами через REST API и вебхуки: платёжные системы, электронный документооборот. Синхронизация данных с MySQL, backend для обработки аудиозаписей телефонии с распознаванием через языковую модель и автоматической выгрузкой результатов. MVC-архитектура внутренних систем.

C++/Qt разработчик · фриланс, 2020–2021 — кроссплатформенные десктоп-приложения.

Стек подробнее
Уровень Технологии
Уверенно PHP, MySQL, SQL, REST API, вебхуки, JSON/XML, проектирование схем БД
Регулярно Node.js, SQLite, Git, Linux, Docker, nginx
Предметно Telegram Bot API и MTProto, платёжные шлюзы, фискальные и ЭДО-сервисы Узбекистана
Дополнительно C++, React, TypeScript, Cloudflare Workers

🌐 Собственные продукты

Разрабатываю и развиваю системы учёта под задачи малого бизнеса: складской учёт для розницы и CRM для учебных центров — Telegram-бот для клиентов плюс веб-панель для администратора.

Живые демо и описание — на ecomdev.uz. Разборы предметных тем для владельцев бизнеса — в блоге.


Связаться

Сайт Telegram Email

Исходный код рабочих систем — в приватных репозиториях. Доступ по запросу.

Pinned Loading

  1. webhook-idempotency-php webhook-idempotency-php Public

    PHP-библиотека: обработчик вебхука выполняется ровно один раз, сколько бы раз провайдер его ни прислал. Захват через UNIQUE-индекс, повтор отвечает сохранённым ответом. Без зависимостей, MySQL и SQ…

    PHP

  2. db-schema-notes db-schema-notes Public

    Разбор схем БД трёх продакшен-систем: неизменяемые движения склада, начисления и оплаты, составные ключи. ER-диаграммы и принятые решения.

  3. payment-integration-notes payment-integration-notes Public

    Подключение Payme, Click и Uzum: три разные интеграции за одним интерфейсом. Состояния платежа, идемпотентность webhook, проверка подписи.

  4. inventory-accounting-notes inventory-accounting-notes Public

    Доменная логика складского учёта: почему движения неизменяемы, остаток производный, резерв отдельно, а исправление проведённого документа — сторно.

  5. telegram-bot-architecture-notes telegram-bot-architecture-notes Public

    Bot API против MTProto: почему userbot нельзя на serverless, защита от повторной доставки апдейтов, связка бот + админ-панель.

  6. uz-fiscal-compliance-notes uz-fiscal-compliance-notes Public

    ИКПУ, онлайн-касса, фискализация онлайн-оплат через комиссионера, ЭСФ и маркировка Asl Belgisi — глазами разработчика, встраивающего это в учётную систему.