Данный проект реализует автоматическую интеграцию с Wildberries API и обеспечивает:
📥 Получение данных с Wildberries API
🗃️ Сохранение данных в базу данных
🔄 Синхронизацию данных с Google Таблицами
⏱️ Регулярное обновление данных (ежечасно)
Система разработана с нуля без использования предложенного шаблона, чтобы продемонстрировать собственное видение архитектуры. Тем не менее, структура близка к рекомендованной.
📌 Инструкция по настройке Google Sheets API
Получение credentials.json
Перейдите в
Откройте раздел "IAM и администрирование" → "Сервисные аккаунты"
Выберите или создайте сервисный аккаунт
Перейдите во вкладку "Ключи" → "Добавить ключ" → "Создать новый ключ" → JSON
Файл автоматически скачается (обычно называется как-то так: project-name-123456.json)
Настройка проекта
В вашем проекте уже есть файл credentials.example.json
Откройте скачанный JSON-файл и скопируйте ВСЕ его содержимое
Вставьте скопированное содержимое в файл credentials.json (заменив все существующие данные)
Создание Google таблицы
Создайте новую Google Таблицу
Переименуйте:
Саму таблицу: "stocks_coefs" (в верхнем левом углу)
Лист внутри таблицы: "stocks_coefs" (в нижней панели вкладок)
Настройка доступа
Откройте настройки доступа таблицы (кнопка "Поделиться")
В поле "Добавить пользователей" введите email из credentials.json (поле client_email)
Установите права "Редактор"
-
Клонируйте репозиторий
git clone [ссылка_на_репозиторий]
cd [название_папки_проекта]
-
Соберите и запустите контейнеры
⚠️ Обратите внимание: сборка может занять некоторое время при первом запуске.docker-compose up --build
После окончания запуска, все данные будут сохранены в бд и в ваших гугл таблицаx
-
(Опционально) Установите зависимости для локальной работы (вне Docker)
npm install
Создайте файл .env в корне проекта и добавьте туда переменные для подключения к:
Wildberries API
Базе данных (PostgreSQL / MySQL и т.п.)
Данные синхронизируются каждый час:
Обновление записей в базе данных
Обновление Google Таблицы на основе актуальных данных
Настройка автоматического обновления выполнена через планировщик (например, cron внутри контейнера или node-cron).
Проект организован по принципам модульности и читаемости. Архитектура легко масштабируется под новые источники данных и направления интеграции.