-
Node.js - програмна платформа для створення серверної частини
-
Express.js - веб-фреймворк для Node.js
-
Mongoose - з метою моделювання об’єктів mongodb для node.js
-
MongoDB - програма для баз даних NoSQL
-
PostgreSQL - реляційна база даних PostgreSQL
-
деплой-сервер - deploy server
-
додаткові пакети:
- google-spreadsheet - для отримання списку товарів з Google таблиць
- node-cron - бібліотека для запуску завдань в регулярному режимі з метою автоматизації імпорту даних з Google Sheets до бази даних.
- google-auth-library - бібліотека для автентифікації в сервісах Google, зокрема, для взаємодії з API Google Sheets
- Склонувати репозиторій:
git https://github.com/Oleh-Kliapko/RestoWaves-test-task.git
- Встановити усі пакети та залежності:
npm install
- Сторити файл змінних оточення
.env
, заповнити його необхідними змінними. Змінні показані у файлі.env.example
- Запусти режим розробки, виконавши команду:
- для формування бази даних на Mongo DB:
npm run dev
- для формування бази даних на Postgres:
npm run devpg
Використовуйте postman_collection.json
- імпортуйте в Postman та
використовуйте ендпойнти в папці Render.com
- controllers: Містить обробники маршрутів для різних API-точок.
- helpers: Включає допоміжні функції.
- middlewares: Включає проміжні програми для різних перевірок перед запуском контролерів.
- models: Визначає моделі Mongoose для схеми MongoDB.
- routes: Визначає маршрути API за допомогою Express.js.
- services: Містить зовнішні служби, такі як отримання даних з Google Sheets.
Цей проект включає можливість імпорту даних про моделі товарів з Google Sheets.
Для цього використовується пакет google-spreadsheet
, який надає можливість
взаємодії з Google Sheets API. Отримані дані із Google Sheets обробляються та
імпортуються в базу даних MongoDB. При цьому реалізована логіка оновлення
існуючих записів та додавання нових, забезпечуючи актуальність інформації в
базі.
Перед використанням функціоналу імпорту з Google Sheets, переконайтеся, що ви
правильно налаштували конфіденційні дані, необхідні для взаємодії з Google API,
та що вони збережені в файлі .env
вашого проекту.