Магазин Shopify + Интеграция CRM - Klavio/ Gorgias
Створити функціональний Shopify магазин з інтеграціями основних e-commerce сервісів. Завдання демонструє реальний робочий процес нашої компанії.
Час виконання: 4-6 годин
Дедлайн: 3-5 робочих днів від отримання
Мета Завдання
Оцінити твої навички в:
Роботі з Shopify платформою
Frontend розробці (JavaScript, верстка)
Backend розробці (Node.js, API)
Інтеграціях з третіми сервісами
Документуванні коду
Частина 1: Shopify Магазин (Frontend)
Завдання:
Створити базовий Shopify магазин для продажу одягу (тестовий).
Що потрібно зробити:
1. Налаштування магазину
Зареєструвати безкоштовний Shopify Trial (14 днів)
Обрати та встановити будь-який безкоштовний theme
Налаштувати базову інформацію магазину
2. Додати товари
Створити мінімум 5 товарів (можна вигадані):
Назва, опис, ціна
Хоча б 1 зображення на товар
Варіанти (sizes: S, M, L)
Інвентар (stock quantity)
3. Кастомізація Theme
Внести зміни в обраний шаблон:
a) Головна сторінка:
Додати custom banner з текстом "Welcome to Our Store"
Секція з featured products (3-4 товари)
Newsletter signup форма (поки без backend)
b) Картка товару:
Додати кнопку "Add to Wishlist" (тільки UI, функціонал не обов'язковий)
Показувати індикатор наявності товару ("In Stock" / "Low Stock" / "Out of Stock")
c) Кошик:
Додати promotional banner "Free shipping on orders over $50"
4. JavaScript функціонал
Реалізувати одну з цих функцій (на вибір):
Варіант A - Quick View:
При кліку на кнопку "Quick View" на картці товару:
- Відкрити modal з інформацією про товар
- Показати назву, ціну, головне фото
- Кнопка "Add to Cart" в modal
Варіант B - Dynamic Cart:
Оновлювати кошик без перезавантаження сторінки:
- Після додавання товару показати mini-cart sidebar
- Відобразити кількість товарів та загальну суму
- Можливість видалити товар з mini-cart
Очікуваний результат:
Робочий Shopify магазин (посилання на preview)
Кастомізований theme з вашими змінами
Працюючий JavaScript функціонал
Чистий, коментований код
Частина 2: Backend Інтеграція (Node.js)
Завдання:
Створити Node.js застосунок для інтеграції Shopify з зовнішнім сервісом.
Сценарій:
Коли в магазині створюється нове замовлення, потрібно:
Отримати webhook від Shopify
Обробити дані замовлення
Відправити інформацію в зовнішню систему (mock API)
Залогувати результат
Технічні вимоги:
1. Налаштування проєкту
Структура:
shopify-integration/
├── server.js (або index.js)
├── config/
│ └── shopify.js
├── routes/
│ └── webhooks.js
├── services/
│ └── orderService.js
├── utils/
│ └── logger.js
├── package.json
└── README.md
2. Реалізувати webhook endpoint
POST /webhooks/orders/create
Що має робити:
javascript
1. Приймати webhook від Shopify
2. Верифікувати HMAC signature (безпека)
3. Парсити дані замовлення
4. Валідувати структуру даних
5. Викликати orderService для обробки
6. Повертати 200 OK response
3. Order Service
Створити сервіс, який:
javascript
// Приклад структури
async function processOrder(orderData) {
// 1. Витягнути важливі дані:
const orderInfo = {
orderId: orderData.id,
customerEmail: orderData.email,
totalPrice: orderData.total_price,
items: orderData.line_items.map(item => ({
name: item.name,
quantity: item.quantity,
price: item.price
}))
};
// 2. Відправити в "Klaviyo" (mock)
await sendToKlaviyo(orderInfo);
// 3. Відправити в "Gorgias" (mock)
await sendToGorgias(orderInfo);
// 4. Залогувати успіх
logger.info('Order processed successfully');
}
4. Mock інтеграції
Створити функції-заглушки для API calls:
javascript
// Не потрібно реальне підключення до Klaviyo/Gorgias
// Достатньо імітувати HTTP request
async function sendToKlaviyo(data) {
// Mock POST request
console.log('Sending to Klaviyo:', data);
// Симулювати затримку
await new Promise(resolve => setTimeout(resolve, 100));
// Повернути mock response
return { success: true, service: 'Klaviyo' };
}
async function sendToGorgias(data) {
// Аналогічно для Gorgias
console.log('Sending to Gorgias:', data);
await new Promise(resolve => setTimeout(resolve, 100));
return { success: true, service: 'Gorgias' };
}
5. Error Handling
Обробити можливі помилки:
Невалідний webhook signature
Помилки парсингу JSON
Помилки відправки в зовнішні сервіси
Network timeouts
6. Логування
Використати будь-який logger (Winston, Pino, або console):
javascript
// Логувати:
- Отримання webhook
- Успішну обробку
- Помилки з деталями
- Час обробки
Очікуваний результат:
Node.js застосунок з коментарями
Працюючий webhook endpoint
Mock інтеграції з Klaviyo та Gorgias
Error handling
README з інструкціями запуску
Частина 3: Демонстрація Integration Flow (опціонально, але великий плюс)
Завдання:
Показати, як би використав Gadget.dev для реальної інтеграції.
Що зробити:
Варіант A - Документація: Написати покроковий план (без коду):
1. Як би налаштував з'єднання Shopify → Gadget
2. Які тригери використав би (наприклад, "New Order")
3. Які дії виконував би в Klaviyo
4. Як обробляв би помилки
5. Які дані синхронізував би
Варіант B - Скріншоти/Відео:
Зареєструватися на Gadget.dev (безкоштовний trial)
Створити просту інтеграцію (хоча б початок)
Зробити скріншоти налаштувань
Пояснити логіку в README
Що здати?
1. Shopify Магазин:
Посилання на preview магазину (публічне)
Код кастомізацій (JavaScript, Liquid files)
Можна ZIP архів або GitHub repo
Скріншоти основних сторінок
2. Node.js Backend:
GitHub репозиторій (публічний або private з доступом)
README.md з інструкціями:
Як встановити (npm install)
Як запустити (npm start)
Як тестувати webhook (приклад curl command)
Структура проєкту
Використані технології
3. Документація:
SOLUTION.md файл з поясненнями:
Які рішення прийняв і чому
З якими складнощами зіткнувся
Що б покращив, маючи більше часу
Досвід з подібними задачами (якщо є)
4. Опціонально:
Відео (2-3 хв) з демонстрацією
Gadget.dev plan/screenshots
Unit tests для Node.js коду
Критерії Оцінювання
Frontend (Shopify):
Магазин виглядає професійно
Кастомізації інтегровані в theme
JavaScript код чистий та працює
Responsive design
Увага до деталей (UX)
Вага: 30%
Backend (Node.js):
Код структурований та читабельний
Правильна обробка webhooks
Error handling присутній
Асинхронність реалізована правильно
Логування налаштоване
Вага: 40%
Документація:
README зрозумілий
Інструкції працюють
Код закоментований
SOLUTION.md відповідає на питання
Вага: 20%
Додатково:
Креативність у рішеннях
Використання best practices
Git commits (якщо є історія)
Gadget.dev частина
Вага: 10%
Технічні Вимоги
Обов'язково:
Node.js: v16+ або v18+
JavaScript: ES6+ (async/await, arrow functions)
Framework: Express.js (рекомендовано) або будь-який інший
Package manager: npm або yarn
Дозволено використати:
Будь-які npm пакети (але обґрунтуй вибір в README)
TypeScript (якщо зручно)
Будь-які testing frameworks
Environment variables (.env файл)
Заборонено:
Копіювати готові рішення з інтернету
Використовувати no-code tools замість коду (окрім Gadget частини)
Підказки
Shopify Development:
Документація: https://shopify.dev/docs
Theme customization: редагуй через Admin → Online Store → Themes → Customize
Webhooks:
Shopify webhooks: https://shopify.dev/docs/api/admin-rest/2024-01/resources/webhook
Для локального тестування: ngrok або localtunnel
Приклад HMAC verification: https://shopify.dev/docs/apps/auth/hmac-validation
Node.js:
Express guide: https://expressjs.com/
Обробка webhooks: body-parser middleware
Environment variables: dotenv package
Gadget.dev:
Документація: https://docs.gadget.dev
Безкоштовний trial для тестування
Якщо Виникли Питання
Немає доступу до Shopify? → Можна створити безкоштовний Development Store
Не можу налаштувати webhooks локально? → Використай ngrok: ngrok http 3000
Не знайомий з Gadget.dev? → Ця частина опціональна, зроби хоча б план на папері
Щось не працює? → Задокументуй проблему в SOLUTION.md
Не вистачає часу на все? → Зроби мінімум з Частини 1 та 2, але якісно
-
605 2 0 Мы уже делали Shopify-магазины с кастомным фронтендом и интеграциями на Node.js:
🔹 Trellify – https://trellify.com/en
– SaaS с интерактивными компонентами на React + TypeScript и API-интеграциями
🔹 Optimeal – https://optimeal.com/products/optimeal-chicken-turkey-recipe-tender-morsels-in-gravy-for-adult
– Shopify-каталог с кастомными темами и SEO-структурой
🔹 InsideShop – https://insideshop.com.ua/
– Shopify-магазин с динамическими промо-блоками и мобильной оптимизацией
Могу выполнить тестовое:
… 🔹 Shopify frontend: базовый магазин для одежды, кастомные баннеры, wishlist-UI, stock-индикатор, JS-функционал (Quick View или Dynamic Cart)
🔹 Node.js backend: webhook /orders/create с HMAC-валидацией, mock-интеграции с Klaviyo и Gorgias, логирование (Winston/Pino), README + SOLUTION.md
🔹 Документация: код в GitHub, инструкции для запуска, скриншоты preview магазина
Срок — 4–6 часов чистой работы, отдам в дедлайн 3–5 дней.
Когда можем стартовать тестовое, чтобы передать preview-ссылку и GitHub репозиторий?
-
307 Здравствуйте.
У меня большой опыт создания магазинов Shopify на заказ и интеграции бэкендов Node.js для автоматизации и сторонних сервисов, что делает меня идеальным кандидатом для вашего проекта. Я могу эффективно настроить полнофункциональный и адаптивный магазин Shopify, настроить темы с использованием Liquid и JavaScript, а также реализовать интеграцию на основе веб-хуков точно по описанию. Моя цель — предоставить вам чистое, хорошо документированное и готовое к запуску решение в течение 3–5 дней, следуя лучшим практикам Shopify и Express.js. Благодаря богатому опыту в рабочих процессах электронной коммерции, интеграции API и оптимизации производительности, я могу гарантировать, что ваш проект будет выполнен профессионально и на самом высоком уровне.
Актуальные фриланс-проекты в категории HTML и CSS верстка
Робочий проєкт
9166 UAH
Вы - веб-разработчик и получили новый проект - создание мини-версии сервиса для обмена фотографиями и постами, где пользователи могут регистрироваться, авторизоваться, создавать публикации, оставлять комментарии и ставить лайки. Кроме того, будет реализована возможность… HTML и CSS верстка, Javascript и Typescript ∙ 42 секунды назад |
Веб-дизайн и разработкаПривет! Для текущего проекта ищу двух отдельных специалистов: веб-дизайнера (Figma) веб-разработчика (Frontend / WordPress) Проект включает задачи по типу: лендинги, интернет-магазин, админ-панели, сайт на WordPress, а также при необходимости небольшие задачи на React /… HTML и CSS верстка, Дизайн сайтов ∙ 2 дня 1 час назад ∙ 103 ставки |
Необходимо сделать современный сайт для компании натяжных потолков в Польше
28 501 UAH
Нужен современный премиальный дизайн, адаптация под мобильные устройства, быстрое загрузка, SEO, анимации, калькулятор, портфолио, форма заявки. Желателен опыт создания сайтов в Польше, лендингов для строительных или ремонтных компаний. Обязательно отправьте примеры своих работ. HTML и CSS верстка, Веб-программирование ∙ 2 дня 2 часа назад ∙ 157 ставок |
Нужен разработчик Drupal для правок на нескольких сайтах.Нужен разработчик Drupal для правок на нескольких сайтах. Сайт раздувается и заполняет весь хостинг .. HTML и CSS верстка, Веб-программирование ∙ 2 дня 9 часов назад ∙ 37 ставок |
Оптимизация скорости сайта WordPress
5092 UAH
полные детали отправим в личные сообщения Цель Максимально ускорить загрузку сайта, особенно на мобильных устройствах. KPI (обязательно) После завершения работ необходимо добиться следующих показателей. Mobile Performance 90+ LCP менее 2.2 сек INP менее 200 мс CLS менее 0.1… HTML и CSS верстка, Javascript и Typescript ∙ 3 дня назад ∙ 66 ставок |