Комплекс автоматизации работы магазина
Распределение рабочих ресурсов

Технологический стек

PowerBuilder Максимальная скорость разработки форм над БД, жёсткий контроль данных на клиенте Разработка настольного клиента (CRUD, отчёты, специфический бизнес-UI)
PostgreSQL Единое хранилище данных, ACID-транзакции, сложные выборки Надёжность, расширяемость (PL/pgSQL), работа с JSON для связи со стеком веба
Python Фоновые процессы, расчёты, интеграция с API Быстрое прототипирование алгоритмов, огромная экосистема для обработки данных
PHP Backend для веб-интерфейсов Простота развёртывания, нативная работа с веб-серверами, сессии
JavaScript Интерактивные веб-виджеты и фронтенд отчёты Единый язык для клиентской логики в браузере, асинхронное взаимодействие с PHP/Python

Глоссарий:

Backend - это серверная часть программной системы, скрытая от пользователя
UI (User Interface) — это пользовательский интерфейс
ACID — это набор фундаментальных требований к базе данных, гарантирующих надежное, предсказуемое и безопасное выполнение транзакций.
Аббревиатура расшифровывается по первым буквам четырех ключевых свойств:

  • A — Atomicity (Атомарность): Транзакция выполняется полностью или не выполняется вообще. Если одна из операций внутри транзакции завершается сбоем, вся база данных возвращается в исходное состояние, отменяя все предыдущие шаги.
  • C — Consistency (Согласованность): Транзакция переводит базу данных из одного корректного состояния в другое. Все ограничения целостности соблюдаются до и после выполнения транзакции
  • I — Isolation (Изоляция): Параллельные (одновременные) транзакции не должны влиять друг на друга. Промежуточные результаты незавершенной транзакции скрыты от других операций.
  • D — Durability (Долговечность / Устойчивость): После того как транзакция успешно подтверждена, внесенные ею изменения сохраняются в системе даже в случае внезапного отключения питания или системного сбоя

CRUD — это акроним, обозначающий четыре фундаментальные операции для управления данными в программировании и базах данных:

  • Create (Создание)
  • Read (Чтение)
  • Update (Обновление)
  • Delete (Удаление)