Custom business logic

Створюємо логіку під бізнес-процес

Розробляємо нові модулі, бізнес-логіку, внутрішні інструменти та нестандартні сценарії для вже існуючих сайтів та інтернет-магазинів. Аналізуємо архітектуру й реалізуємо функціонал без зайвого переписування системи.

Не адаптуємо бізнес під можливості готового модуля — за потреби створюємо логіку під ваш процес.

Готове технічне завдання не обов’язкове.

Коли стандартного недостатньо

Від нового поля до окремого бізнес-модуля

Якщо задачу можна надійно закрити готовим рішенням — не розробляємо функціонал з нуля без потреби.

  • 01готовий модуль не закриває задачу
  • 02потрібен нестандартний бізнес-процес
  • 03у CMS немає потрібної логіки
  • 04потрібно автоматизувати пов’язані кроки
  • 05потрібен окремий кабінет або інтерфейс
  • 06треба зв’язати кілька частин системи
  • 07потрібна нова сутність або тип даних
  • 08інтеграція є частиною більшого модуля
Масштаб може бути різним
  • невеликий сценарій
  • окремий компонент
  • новий розділ кабінету
  • система статусів
  • внутрішній інструмент
  • інтеграційний модуль
  • фоновий процес
  • комплексна бізнес-логіка

Типи функціоналу

Нові сценарії для користувачів, менеджерів і систем

01

Ecommerce

  • нестандартний checkout
  • правила цін і знижок
  • комплекти й резерви
  • логіка доставки та статусів
02

Особисті кабінети

  • нові розділи та історія
  • документи й заявки
  • ролі та персональні дані
  • статуси й повідомлення
03

Інструменти менеджерів

  • custom admin pages
  • масові операції
  • фільтри та поля
  • внутрішні workflow
04

Бізнес-логіка

  • правила й умови
  • калькуляції та алгоритми
  • залежності статусів
  • автоматичні дії й обмеження
05

Інтеграційний функціонал

  • CRM і KeyCRM
  • API та webhooks
  • платежі й доставка
  • телефонія та маркетплейси
06

Фонові процеси

  • cron і queues
  • синхронізація
  • імпорт та експорт
  • batch processing

Ready solution vs custom

Спочатку перевіряємо, чи потрібно розробляти з нуля

Завдання — знайти технічно виправдане рішення, а не обов’язково написати більше коду.

Ready

Готовий модуль

Використовуємо, якщо рішення стабільне, актуальне, підтримує сценарій і має безпечний механізм розширення.

Extend

Доробка рішення

Підходить, коли базова логіка вже є, а hooks, events або API дозволяють коректно додати потрібні правила.

Custom

Власна розробка

Потрібна, коли готового рішення немає, воно суперечить процесу або його довелося б небезпечно змінювати.

Проєктування

Складний функціонал починається не з коду

До реалізації описуємо, хто і як користуватиметься новою можливістю, які дані потрібні та що має відбутися в кожному стані.

  • технічний аналіз
  • декомпозиція
  • прототип логіки
  • опис flow
  • оцінка етапів
01бізнес-сценарій02користувачі та ролі03стани й поля04джерела даних05правила та помилки06інтеграції07залежності08очікуваний результат

Поточна система

Новий функціонал у вже працюючому проєкті

Проєкт не обов’язково має бути розроблений PromoSite. Можливість реалізації визначаємо після аналізу.

Поточний проєкткод і дані вже мають залежності
  • CMS і версію
  • архітектуру
  • модулі
  • custom code
  • базу даних
  • інтеграції
  • серверне середовище
  • точки розширення
Новий модульвбудований у наявну архітектуру

Новий функціонал повинен вписатися в поточну систему, а не створити окремий некерований шар коду.

Архітектура

Функціонал має бути зрозумілим і після запуску

Технічний підхід залежить від платформи, але за можливості зберігаємо логіку ізольованою та керованою.

  • 01не змінювати core CMS без потреби
  • 02використовувати hooks та events
  • 03ізолювати custom code
  • 04розділяти відповідальність модулів
  • 05відокремлювати конфігурацію від логіки
  • 06не дублювати бізнес-правила
  • 07коментувати неочевидну логіку
  • 08використовувати version control

Інтерфейс

Нову можливість повинно бути зручно використовувати

Функціонал — це не лише правила на сервері. Користувач і менеджер мають бачити зрозумілі стани, дії та результат.

  • frontend
  • admin UI
  • форми
  • таблиці
  • фільтри
  • статуси й дії
  • повідомлення
  • validation
  • empty states
  • error states

Зовнішні системи

Часто нова логіка виходить за межі одного сайту

Інтеграція може бути одним із кроків загального бізнес-сценарію, а не окремою ізольованою передачею даних.

Переглянути інтеграції
  • після дії створити запис у CRM
  • після оплати змінити статус
  • передати дані у фулфілмент
  • отримати статус із зовнішнього API
  • запустити webhook
  • сформувати feed
  • синхронізувати дані

Перевірка сценаріїв

Перевіряємо не лише happy path

Набір перевірок залежить від ризиків і складності задачі. Automated tests не є обов’язковими для кожного невеликого модуля.

  • 01основний сценарій
  • 02відсутні дані
  • 03неправильні значення
  • 04повторна дія
  • 05дублікати
  • 06недоступний зовнішній API
  • 07edge cases
  • 08різні ролі
  • 09суміжні процеси

Поетапний запуск

Великий функціонал можна запускати етапами

Спочатку перевіряємо цінність базового сценарію, а потім нарощуємо складність.

  1. 01

    Базова логіка

    Формуємо мінімальний завершений робочий сценарій.

  2. 02

    Тестовий запуск

    Перевіряємо рішення на реальних ролях і даних.

  3. 03

    Зворотний зв’язок

    Збираємо спостереження користувачів і уточнюємо пріоритети.

  4. 04

    Розширення

    Додаємо наступні умови, стани та інтерфейси.

  5. 05

    Автоматизація

    Прибираємо ручні кроки там, де сценарій уже стабільний.

  6. 06

    Додаткові сценарії

    Розвиваємо модуль відповідно до нових задач бізнесу.

Приклади

Що може бути окремою задачею з розробки

Кожен приклад потребує уточнення правил, даних і зв’язків із поточною системою.

  • 01нестандартний checkout
  • 02нова система статусів
  • 03автоматичний розрахунок
  • 04кабінет партнера
  • 05внутрішня сторінка менеджера
  • 06custom CRM-модуль
  • 07фоновий процес
  • 08модуль синхронізації
  • 09workflow погодження
  • 10масові операції
  • 11спеціальний імпорт
  • 12бізнес-калькулятор
  • 13окремий REST endpoint
  • 14доробка custom-модуля

Платформи

Розширюємо CMS, фреймворки та custom PHP-проєкти

Проєкт не обов’язково має бути розроблений PromoSite.

  • WordPress
  • WooCommerce
  • Bitrix
  • OpenCart / ocStore
  • PrestaShop
  • Laravel
  • Symfony
  • CodeIgniter
  • Custom PHP
  • Інші вебпроєкти після аналізу

Оберіть правильний напрямок

Розробка функціоналу чи доопрацювання сайту

Зміни в існуючому

Доопрацювання сайтів

Потрібно виправити, змінити, адаптувати або трохи розширити наявний сценарій.

Доопрацювання сайтів
Нова логіка

Розробка функціоналу

Створюється новий модуль, складний процес, окремий інструмент або значне розширення системи.

Ви на цій сторінці

Оцінка

Складність залежить від логіки, а не лише від кількості екранів

Для зрозумілої задачі даємо попередню оцінку в годинах. Для складної спочатку може знадобитися декомпозиція або технічний аналіз.

Переглянути ціни
  • кількість сценаріїв
  • ролі та умови
  • інтеграції
  • обсяг існуючого коду
  • API
  • міграція даних
  • сумісність
  • тестування
  • edge cases

Процес

Від ідеї до працюючого функціоналу

  1. 01

    Описуємо бізнес-задачу

    Фіксуємо поточний процес і результат, який потрібно отримати.

  2. 02

    Аналізуємо проєкт

    Перевіряємо архітектуру, код, дані та точки розширення.

  3. 03

    Проєктуємо сценарій

    Визначаємо ролі, стани, правила, помилки та інтеграції.

  4. 04

    Декомпозуємо й оцінюємо

    Ділимо роботу на зрозумілі частини та визначаємо етапи.

  5. 05

    Розробляємо

    Реалізуємо погоджену логіку та потрібні інтерфейси.

  6. 06

    Тестуємо

    Перевіряємо основні, помилкові та суміжні сценарії.

  7. 07

    Запускаємо

    Переносимо зміни відповідно до інфраструктури проєкту.

  8. 08

    Розвиваємо далі

    За потреби додаємо наступні сценарії та автоматизацію.

Що потрібно для старту

Не обов’язково приходити з готовим ТЗ

Допоможемо перетворити опис бізнес-задачі на технічний сценарій після аналізу поточної системи.

Описати бізнес-задачу
  • 01URL сайту
  • 02опис поточного процесу
  • 03що потрібно додати
  • 04хто буде користуватися
  • 05очікуваний результат
  • 06приклади аналогів, якщо є

Коротко про головне

Питання та відповіді

Чи можете розробити функціонал у сайті іншого розробника?

Так, після аналізу поточної архітектури, коду та доступних точок розширення.

Чи обов’язково писати все з нуля?

Ні. Спочатку перевіряємо готові рішення та можливість їх безпечного розширення.

Чи можна доробити існуючий custom-модуль?

Так, якщо після аналізу його архітектура дозволяє безпечно продовжити розробку.

Чи можна реалізувати функціонал поетапно?

Так. Для великих задач це часто найкращий підхід: спочатку базовий сценарій, потім перевірка й розширення.

Чи потрібне готове ТЗ?

Ні. Можна почати з опису бізнес-процесу та бажаного результату.

Чи робите інтеграції як частину функціоналу?

Так. API, CRM, платежі, доставка та інші системи часто є частиною загальної логіки.

Чи можна точно назвати вартість одразу?

Для простої задачі часто можна дати попередню оцінку. Для складної логіки спочатку може знадобитися технічний аналіз і декомпозиція.

Наступний крок

Потрібен функціонал, якого немає у готових рішеннях?

Опишіть бізнес-задачу, покажіть поточний сайт і бажаний результат. Ми перевіримо можливості існуючої системи та запропонуємо технічний підхід до реалізації.

Обговорити функціонал