Backend-інженер працює з commerce API і транзакційними даними
← Усі статтіeCommerce-інжиніринг

Створення інтернет-магазину на Django: архітектура та запуск

Коли Python і Django підходять commerce-проєкту, як розділити домени та підготувати систему до безпечної експлуатації.

3 хв читання

Створення інтернет-магазину на Django виправдане, коли бізнесу потрібні нестандартні комерційні правила й підходить екосистема Python. Django надає зрілі механізми безпеки, ORM, міграції та адмінку, але не готову commerce-модель: каталог, ціни, залишки, замовлення й платежі все одно проєктуються окремо.

Коли кастомна розробка доцільна

Django обирають, якщо типова платформа перетворює критичні процеси на крихкий ланцюг розширень, commerce є частиною Python-продукту або внутрішнім операціям потрібна спеціальна автоматизація. Звичайний магазин зі стандартними знижками й доставкою часто дешевше запустити на готовій платформі.

Порівнювати потрібно повну вартість володіння: ліцензії, розробку, hosting, оновлення, моніторинг, підтримку та ціну самостійного супроводу типових функцій.

Модель комерційних даних

Товар — не лише назва й ціна. Каталог містить варіанти, комплекти, одиниці, податкові класи, канали, локалізацію та періоди дії. Для цін і залишків визначають джерело істини. Замовлення зберігає незмінний знімок позицій, цін, податків, адрес і знижок.

Django apps краще розділяти за бізнес-можливостями. Доменні правила не мають розчинятися у views і serializers. Транзакції захищають локальні інваріанти, а черги виконують повільний експорт до ERP, сповіщення, індексацію й виклики перевізників.

API, платежі та безпека

REST Framework або GraphQL підходять для storefront API, але потребують контролю прав і вартості запитів. Потрібні pagination, обмежені фільтри, rate limits і contract tests. Публічний API не повинен копіювати ORM.

Дані картки залишаються у платіжного провайдера. Webhooks перевіряють, роблять ідемпотентними, записують і дозволяють повторити. Також обов’язкові CSRF-захист, secure cookies, secrets management, аудит, backups і перевірене відновлення.

Масштабування за вимірюваннями

Спочатку скорочують кількість запитів, додають індекси, prefetch, безпечний кеш і окремий пошуковий індекс. Фонові workers масштабуються незалежно, а stateless web nodes — горизонтально.

Моніторинг має показувати помилки checkout, результати платежів, затримку черг, експорт замовлень і розбіжності залишків, а не лише CPU.

План запуску

  1. Зафіксувати процеси й власників даних.
  2. Прототипувати найскладніше правило ціни, залишку або платежу.
  3. Реалізувати наскрізну покупку з аудитом і моніторингом.
  4. Додати адмінку, звіряння та інструменти підтримки.
  5. Перевірити безпеку, навантаження, backup, rollback та incident response.

Пов’язані статті

Архітектор проєктує модульну кастомну commerce-платформуКастомна eCommerce-платформа: коли вона справді потрібнаІнженер контролює транзакційний eCommerce вебзастосунокРозробка eCommerce-вебзастосунку: архітектура для зростанняАрхітектор порівнює модульні варіанти eCommerce-платформЯк вибрати найкращу платформу для розробки eCommerce