Магазин 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, але якісно
-
655 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 верстка
Интернет-магазин одеждыНужен разработчик для интернет-магазина одежды Ищу опытного разработчика для создания полноценного интернет-магазина одежды с дроп-моделью продаж. Что нужно сделать: 6 страниц: главная, товар, корзина, оформление, аккаунт, админ панель Вход через Google аккаунт Корзина и… HTML и CSS верстка, Javascript и Typescript ∙ 20 часов 14 минут назад ∙ 67 ставок |
Комплексное доработки WooCommerce-магазина (UX, адаптивность, функционал)Необходимо завершить разработку интернет-магазина на WordPress (WooCommerce). Текущий сайт: https://lerise.com.ua/ Референс по уровню функционала и удобства использования: https://katysoho.com.ua/Важно Кардинально менять дизайн сайта не нужно. Основной акцент - на… CMS, HTML и CSS верстка ∙ 2 дня 14 часов назад ∙ 38 ставок |
Сайт для свадебных фотографов под ключ: дизайн + текст + запускИщем специалиста (или студию) для создания сайта-портфолио под ключ - полный цикл от концепции до публикации. Хотим минимум участия с нашей стороны: вы берете задание и доводите до готового результата. Что входит в работу «под ключ»: • Дизайн в стиле premium / editorial /… HTML и CSS верстка, Дизайн сайтов ∙ 2 дня 20 часов назад ∙ 114 ставок |
Ищем веб-дизайнера / верстальщика на WordPress (конструктор Divi)https://annalecat.com/corporate-training/ Что нужно сделать: У нас есть одна страница на сайте, которая сейчас выглядит плохо. Нужно переделать её дизайн и сверстать так, чтобы она выглядела красиво, современно и аккуратно. Что мы уже имеем для работы: Текст: Полностью готов… HTML и CSS верстка, Дизайн сайтов ∙ 4 дня 16 часов назад ∙ 37 ставок |
Верстка 3 страницНеобходимо сделать верстку с помощью tailwind под вордпресс. Страницы должны быть максимально изолированы от темы, чтобы не перекрывать никакие стили. Часть элементов уже существует в реализованной теме, их необходимо переиспользовать. Мобильной версии в дизайне нет,… HTML и CSS верстка ∙ 5 дней 12 часов назад ∙ 65 ставок |