ДЕМОE-COMMERCE
Інтернет-магазин на Laravel + Nuxt.
Показуємо, як ми будуємо магазин під ключ: від каталогу на 2 000 товарів до оплати й доставки — з тестами на кожен ключовий сценарій.
Це демо-проєкт: ми зробили його самі, щоб показати підхід і якість коду. Клієнта і продажів немає — метрики виміряні на тестових даних.
- ТИП
- ДЕМО
- ТЕРМІН
- 6 тижнів
- КОМАНДА
- Тех-лід, QA, дизайнер
- ПОСЛУГА
- Магазин під ключ
01
Задача
Зібрати магазин, на якому потенційний клієнт може сам перевірити, як ми працюємо: швидкість, мобільний checkout, адмінку і якість коду. Сценарій — магазин товарів для дому з каталогом на 2 000 позицій.
02
Обмеження
- [WARN]Бюджет часу — 6 тижнів, як у реального малого магазину
- [WARN]Мобільний трафік 75%+: checkout спершу для телефона
- [WARN]Хостинг — звичайний VPS за $10/міс, без CDN-магії
- [WARN]Адмінку має вести людина без технічної освіти
03
Рішення
Розділили магазин на Nuxt-фронтенд зі статичною генерацією каталогу і Laravel API для кошика, замовлень і адмінки. Кешуємо фільтри на рівні бази, а не фронтенду.
Статичний каталогNuxt генерує сторінки товарів, оновлення — через вебхук з адмінки.
Фільтри без затримкиАгрегати в PostgreSQL, відповідь API до 80 мс на 2 000 товарів.
Checkout в 1 екранLiqPay і Нова Пошта з автопідказкою відділень.
Автотести в CI24 Playwright-сценарії запускаються перед кожним деплоєм.
04
Стек
Laravel 11API, адмінкаNuxt 3фронтендPostgreSQLданіRedisчерги, кешPlaywrightавтотестиGitHub ActionsCIFigmaдизайнVPSхостинг
05
Результат у цифрах
LIGHTHOUSE MOBILE96[PASS] ціль 90+
LCP1,4 с[PASS] норма 2,5 с
CLS0,01[PASS] норма 0,1
АВТОТЕСТИ24[PASS] 24 / 24
Замір: PageSpeed Insights, мобільний профіль, медіана 5 запусків. Дата: 09.2026.
06
Що зробили б інакше
01Раніше підключили б реальну Нову Пошту замість мока — інтеграція забрала на 3 дні більше, ніж планували.
02Писали б автотести checkout з першого спринту, а не з третього: два регреси можна було не пропустити.
03Менше кастомних компонентів в адмінці — готові рішення Filament покрили б 80% потреб.
НАСТУПНИЙ КЕЙСМагазин одягу: 47 багів, 6 критичних
АУДИТ