Технічний стек

Технічний стек інтернет-магазину автозапчастин — відкритий і під вашим контролем

Sol.parts — on-premises платформа: сайт розгортається на вашому власному сервері або на керованому сервері від нас — і між цими моделями можна переходити. Стек мейнстрімний — PHP 8.2+, Symfony 7, MariaDB, Meilisearch: з ним упорається досвідчений PHP-розробник.

Що всередині

PHP

ядро платформи — Symfony 7 і PHP 8.2+

On-prem

ваш власний сервер — або керований від нас

З чого складається ваш магазин

  • nginx вебсервер
  • PHP 8.2 · Symfony 7 застосунок платформи
  • MariaDB товари, замовлення, покупці
  • Meilisearch пошук по каталогу
  • Turbo · Stimulus інтерфейс вітрини
  • Tailwind CSS дизайн і тема магазину
  • custom/ шар ваших кастомізацій

Стек

Жодної екзотики — лише мейнстрім

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

Ядро застосунку

Symfony 7 · PHP 8.2+

Основа бекенду: роутинг, безпека, форми, черги. Найпоширеніший корпоративний PHP-фреймворк — розробників під нього на ринку достатньо.

База даних

MariaDB / MySQL

Товари, замовлення, покупці, налаштування. Індустріальний стандарт, знайомий адміністраторам і хостингам.

Пошук по каталогу

Meilisearch

Окремий пошуковий рушій: миттєва видача, толерантність до одруків, фільтри. Працює на вашому ж сервері.

Навігація вітрини

Hotwire Turbo

Швидкість рівня SPA без SPA: часткові оновлення сторінок, повна дружність до пошукових ботів — критично для SEO.

Чуйність інтерфейсу

Stimulus

Кнопки, фільтри, кошик і меню відгукуються на дію одразу, не чекаючи відповіді сервера — покупець не сумнівається, чи натиснулось. Легка клієнтська логіка без важкого JS-фреймворка.

Дизайн-система

Tailwind CSS

Стилі вітрини й адмінки. Тема вашого магазину — кольори, шрифти, логотипи — живе окремим шаром у вашій теці кастомізацій.

Системні вимоги

  • AlmaLinux 9 LTS
  • nginx
  • PHP 8.2+
  • MariaDB / MySQL
  • Meilisearch

Рекомендована конфігурація сервера залежить передусім від обсягу каталогу, а не від трафіку: найбільше навантаження створюють база авторозкладки та її алгоритми. S3-сумісне сховище зображень і CDN — опційно.

Розміщення

Свій сервер чи керований — обирати вам

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

Власний сервер

Більше потужностей за менші гроші й повний доступ до сервера. Акаунт хостера оформлений на вас — ви керуєте доступами й тарифами напряму. Адміністрування — на вашій стороні або за домовленістю.

Керований сервер Sol.parts

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

Про послугу «Керований сервер»

Переїзд — в обидва боки

З керованого сервера на власний і навпаки. Перенесення виконуємо за окремою домовленістю і плануємо на неробочий час; NS-сервери домену не змінюються — коригуються лише DNS-записи. Або, переїжджаючи з керованого сервера, розгортаєте сайт самостійно з наданих дампів.

Якщо вирішите піти — усе й так ваше

  • Домен зареєстрований на вас
  • Google Analytics, Merchant і рекламні кабінети — ваші акаунти
  • Власний сервер — акаунт хостера оформлюється на вас
  • Керований сервер — дампи бази, файлів і зображень на запит

Власність

Дані — ваші. Завжди

Замовлення, база покупців, контент — усе, що напрацьовує магазин, живе в його базі даних. Код платформи ви використовуєте за безстроковим правом у складі свого магазину. На власному сервері все й так у вас; із керованого сервера дампи бази, файлів і зображень надаємо на запит — з них сайт розгортається на новому сервері самостійно або нами за окремою домовленістю.

Що надаємо з керованого сервера на запит

Дамп бази даних

Товари, замовлення, покупці, налаштування магазину — повна копія бази у стандартному форматі MariaDB/MySQL.

Архів файлів сайту

Файли проєкту разом із вашим шаром кастомізацій — шаблонами, стилями й доробками вашого розробника.

Сховище зображень

Фотографії товарів окремим архівом — навіть якщо їх десятки гігабайтів.

Як це виглядає на практиці

Один з магазинів вирішив переїхати на власний сервер. Він отримав: дамп основної бази, дамп бази каталогу, архів файлів сайту, окремий архів сховища зображень, версії PHP і MariaDB, повний список модулів, налаштування cron і конфіг nginx. Сайт розгорнули на новій площадці — це передбачений сценарій, а не виняток.

Право на код — безстрокове

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

Сторонні розробники

«Чи зможе мій програміст?» Зможе

За будь-якої моделі розміщення договір закріплює за вами право вносити зміни у свою версію коду — своїми силами чи силами залученого розробника. Різниця лише в тому, хто видає доступи.

Сайт на вашому сервері

Доступи своєму розробнику ви видаєте самі — SSH, SFTP чи панель хостера: сервер ваш, і ми в цьому не посередник.

Сайт на керованому сервері

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

Найчастіше доступ і не потрібен

Сторонні скрипти й теги ваш маркетолог підключає через Google Tag Manager без правок коду, а дані для аналітики та зовнішніх систем віддає API платформи. SSH лишається для задач, де справді потрібні файли чи база.

Ми не воюємо з вашими розробниками

Реальний кейс: IT-фахівець клієнта отримав доступ і дописав потрібний магазину модуль — ми переглянули код, відрефакторили і за домовленістю з клієнтом включили функціонал у загальне оновлення платформи для всіх проєктів.

Кастомізації

Доробки, що переживають оновлення

У кожного проєкту є власна тека кастомізацій: шаблони, стилі, логіка. Щоб доробки переживали щомісячні оновлення платформи, дотримуйтесь рекомендованої схеми внесення змін.

  1. Тариф «Оновлення Pro»

    Зі staging-оточенням: зміни спершу перевіряються на тестовій копії сайту, а не одразу на робочому магазині. Деталі — на сторінці послуги «Оновлення».

  2. Зміни — у теці custom

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

  3. Синхронізація перед оновленням

    Ми верифікуємо ваші зміни й синхронізуємо їх зі своїм репозиторієм — наступні оновлення виходять уже з урахуванням вашого коду.

Правки поза цією схемою — зокрема несинхронізовані з нами — оновлення може затерти. І врахуйте: кастомний код — не разова робота: після додавання він, як правило, потребує супроводу з урахуванням змін, що відбуваються в платформі.

ЧаПи

Часті питання

Питання — так, як їх ставлять власники магазинів та їхні розробники; відповіді — так, як ми відповідаємо в підтримці.

Sol.parts — власна розробка на відкритому стеку: PHP 8.2+, Symfony 7, MariaDB/MySQL, Meilisearch для пошуку, Hotwire Turbo і Stimulus в інтерфейсі, Tailwind CSS у дизайні. Це не коробкова CMS і не пропрієтарна екзотика: PHP-розробник, який працював із Symfony, розбереться у структурі проєкту.
На сервері, який належить вам і відповідає системним вимогам, — або на нашому керованому сервері, якщо не хочете займатися адмініструванням. Це рішення можна змінити в обидва боки.
Так. Якщо сайт на вашому власному сервері — код і база вже у вас. Із керованого сервера на запит надаємо дамп бази даних, архів файлів сайту і сховище зображень — з них проєкт розгортається на новому сервері самостійно або нами за окремою домовленістю. Право використання коду платформи у складі вашого магазину за договором безстрокове.
Так — договір закріплює за вами право вносити зміни у свою версію коду, а виконувати їх може і залучений вами розробник. Якщо сайт на вашому власному сервері, доступи своєму розробнику ви видаєте самі. На керованому сервері SSH-доступ відкривається за вашим запитом через техпідтримку і прив'язується до публічного ключа вашого розробника; за зміни, внесені вашою командою, за умовами договору відповідає ваша сторона.
Найчастіше доступ до коду йому не потрібен: сторонні скрипти й теги підключаються через Google Tag Manager без правок коду, а дані віддає API платформи. Якщо потрібен саме доступ до файлів — усе як для програміста: на власному сервері доступи ви видаєте самі, на керованому — SSH за публічним ключем через техпідтримку.
Так, у теці кастомізацій вашого проєкту: стилі, шаблони, логіка. Після правки стилів запускається збірка асетів — це пара консольних команд, покажемо як. Про внесені зміни повідомте нас до чергового оновлення — щоб ми синхронізували їх зі своїм репозиторієм.
Залежить від того, як їх внесено. Рекомендована схема: тариф «Оновлення Pro» зі staging-оточенням, зміни — лише в теці кастомізацій проєкту, і синхронізація з нами перед оновленням — ми верифікуємо ваші правки й забираємо їх у свій репозиторій, тож наступні оновлення виходять уже з урахуванням вашого коду. Правки поза цією схемою — у файлах ядра або не синхронізовані — оновлення може затерти. Врахуйте також, що кастомний код зазвичай потребує подальшого супроводу з урахуванням змін у платформі.
Зовнішнє підключення до бази за замовчуванням закрите з міркувань безпеки. Штатні способи роботи з даними — API платформи або SSH-тунель. Якщо потрібного методу в API бракує — опишіть задачу, ми розглянемо його додавання.
Так. Потрібен сервер із відповідними характеристиками й доступ до нього — перенесення виконуємо ми за окремою домовленістю, або — якщо сайт на керованому сервері — ви розгортаєте його самостійно з наданих дампів; на власному сервері все для переїзду й так у вас. Провайдера не нав'язуємо; переїзд плануємо на неробочий час, NS-сервери при цьому не змінюються.
На власному сервері сайт працює автономно: код, база й каталог — локально, без зовнішніх залежностей від наших сервісів, тож магазин продовжить приймати замовлення без нашої участі. На керованому сервері ви в будь-який момент можете запросити дампи бази, файлів і зображень — зокрема «про запас», щоб тримати власну копію.
На власному сервері все вже у вас. Із керованого сервера на запит отримуєте дампи бази, файлів і зображень — розгортаєте проєкт самостійно, або перенесення виконуємо ми за окремою домовленістю. Домен і рекламні акаунти від початку оформлюються на вас — це принципова позиція платформи.
Каталог авторозкладки (AutoPartsPim) розгортається поруч із сайтом — на тому самому сервері, що й магазин, — і працює без зовнішніх залежностей. Ліцензію на самі дані ви купуєте напряму в постачальника даних, а підключення до магазину робимо ми.
Інформація про замовлення з сайтів клієнтів — конфіденційна, ми її не використовуємо. Доступ команди до сайту обмежений задачами підтримки та оновлення.
Так. На власному сервері ви керуєте доступами самостійно через панель хостера. На керованому сервері доступ прив'язаний до конкретного SSH-ключа — його можна відкликати в будь-який момент. Паролі до адмінки та сервісів ви змінюєте самі.
Функціонал платформи єдиний для всіх проєктів і розвивається централізовано — так кожне оновлення отримують усі магазини. Індивідуальні зміни живуть у шарі кастомізацій вашого проєкту: їх вносить ваш розробник. Разові налаштування наявного функціоналу можна замовити як послугу «Технічна допомога», а ідеї нового функціоналу подавайте через Helpdesk — за загальної актуальності для магазинів платформи реалізуємо їх у межах «Оновлення».
AlmaLinux 9 або сумісний RHEL-дистрибутив, nginx, PHP 8.2+, MariaDB/MySQL і Meilisearch. Рекомендована конфігурація заліза залежить передусім від обсягу каталогу, а не від трафіку.

Покажемо платформу зсередини

Демо магазину й адмінки — і відповіді на технічні питання вашій команді або вашому розробнику.