Shopify store + Integration of CRM - Klaviyo/ 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 We have already created Shopify stores with custom frontends and Node.js integrations:
🔹 Trellify – https://trellify.com/en
– SaaS with interactive components on React + TypeScript and API integrations
🔹 Optimeal – https://optimeal.com/products/optimeal-chicken-turkey-recipe-tender-morsels-in-gravy-for-adult
– Shopify catalog with custom themes and SEO structure
🔹 InsideShop – https://insideshop.com.ua/
– Shopify store with dynamic promo blocks and mobile optimization
I can perform a test:
… 🔹 Shopify frontend: basic clothing store, custom banners, wishlist UI, stock indicator, JS functionality (Quick View or Dynamic Cart)
🔹 Node.js backend: webhook /orders/create with HMAC validation, mock integrations with Klaviyo and Gorgias, logging (Winston/Pino), README + SOLUTION.md
🔹 Documentation: code in GitHub, instructions for running, screenshots of the store preview
Deadline — 4–6 hours of pure work, I will deliver within 3–5 days.
When can we start the test to provide the preview link and GitHub repo?
-
307 Hello.
I have extensive experience in creating custom Shopify stores and integrating Node.js backends for automation and third-party services, which makes me an ideal candidate for your project. I can efficiently set up a fully functional and responsive Shopify store, customize themes using Liquid and JavaScript, and implement webhook-based integration exactly as described. My goal is to provide you with a clean, well-documented, and ready-to-launch solution within 3–5 days, following best practices for Shopify and Express.js. With a rich background in e-commerce workflows, API integration, and performance optimization, I can guarantee that your project will be executed professionally and at the highest level.
Current freelance projects in the category HTML & CSS
Layout designer for multi-page advertorial website (Health Media) — vibe coding, clean code
150 USD
We need to create a multi-page website in the style of health media, based on healthinsider.news. Not just a landing page — a full-fledged pseudo-editorial site (advertorial), designed to attract traffic from Meta Ads. IMPORTANT: the task is to be done through vibe coding… HTML & CSS, Web Programming ∙ 4 hours 29 minutes back ∙ 40 proposals |
Website design updateIt is necessary to update the design of the existing website using HTML, CSS, JS: refresh the appearance, make it modern and responsive for mobile devices. Smooth animations and interactive elements need to be added. HTML & CSS, Javascript and Typescript ∙ 1 day 8 hours back ∙ 85 proposals |
I am looking for a WordPress/Elementor/Woo specialist who has extensive experience with the Woodmart template.
113 USD
It is necessary to update the visual design and structure of the online store for dental products (link will be sent in a private message). The site operates on the WordPress + WooCommerce framework. The template is Woodmart. Tasks: Update the header, footer, and content on… Content Management Systems, HTML & CSS ∙ 1 day 12 hours back ∙ 34 proposals |
Website layoutTechnical assignment for website layout. Written by ChatGPT Link to design - https://www.figma.com/file/bBuR3yG2eSzLpBcBJURNZi?node-id=60:397&t=zQ9Kln2RtyBgNHKw-1&locale=en&type=design General information It is necessary to perform responsive cross-browser layout of the… HTML & CSS ∙ 1 day 12 hours back ∙ 113 proposals |
Making edits and improvements to the website according to the specifications.Project Description It is necessary to carry out a comprehensive refinement of the website zvilnymo.ua according to the provided technical specifications. The main goal of the work is to increase the website's conversion, improve user experience, optimize the lead capture form,… HTML & CSS, Web Programming ∙ 1 day 15 hours back ∙ 43 proposals |