Skip to content

The server that make a request to the Google Sheets, write a data to the Mongo DB or Postgresql and allow to do the basic CRUD HTTP operations with data

Notifications You must be signed in to change notification settings

Oleh-Kliapko/server-shoes-store

Repository files navigation

Back-end to manage common requests for shoes store

Бек-енд застосунок для магазину взуття

Матеріали та інструменти

  • 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

Для локальної роботи з репозиторієм:

  1. Склонувати репозиторій:
git https://github.com/Oleh-Kliapko/RestoWaves-test-task.git
  1. Встановити усі пакети та залежності:
npm install
  1. Сторити файл змінних оточення .env, заповнити його необхідними змінними. Змінні показані у файлі .env.example
  2. Запусти режим розробки, виконавши команду:
  • для формування бази даних на Mongo DB:
npm run dev
  • для формування бази даних на Postgres:
npm run devpg

Для для демонстрації роботи застосунку (база даних реалізована на Mongo DB):

Використовуйте postman_collection.json - імпортуйте в Postman та використовуйте ендпойнти в папці Render.com

Структура проекту

  • controllers: Містить обробники маршрутів для різних API-точок.
  • helpers: Включає допоміжні функції.
  • middlewares: Включає проміжні програми для різних перевірок перед запуском контролерів.
  • models: Визначає моделі Mongoose для схеми MongoDB.
  • routes: Визначає маршрути API за допомогою Express.js.
  • services: Містить зовнішні служби, такі як отримання даних з Google Sheets.

Використання інформації з Google Sheets

Цей проект включає можливість імпорту даних про моделі товарів з Google Sheets. Для цього використовується пакет google-spreadsheet, який надає можливість взаємодії з Google Sheets API. Отримані дані із Google Sheets обробляються та імпортуються в базу даних MongoDB. При цьому реалізована логіка оновлення існуючих записів та додавання нових, забезпечуючи актуальність інформації в базі.

Важливо

Перед використанням функціоналу імпорту з Google Sheets, переконайтеся, що ви правильно налаштували конфіденційні дані, необхідні для взаємодії з Google API, та що вони збережені в файлі .env вашого проекту.

About

The server that make a request to the Google Sheets, write a data to the Mongo DB or Postgresql and allow to do the basic CRUD HTTP operations with data

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published