Skip to content

Latest commit

 

History

History
71 lines (50 loc) · 2.51 KB

README.md

File metadata and controls

71 lines (50 loc) · 2.51 KB

example branch parameter Maintainability

Парсер магазинов компьютерных игр

Собирает статистику предложений по продаже ключей и подарков (гифтов) для трех ключевых платформ: Steam, XBOX и PlayStation.

Парсер анализирует данные следующих магазинов:

Анализируются данные следующих игр:

  • Diablo IV;
  • Grand Theft Auto 5;
  • Red Dead Redemtion 2;
  • Minecraft;
  • Cyberpunk 2077.

Используемые технологии и библиотеки

Исполняемый код и тестирование: Bun, axios, knex, jsdom.

Форматирование и качество кода: ESLint, Prettier, Husky.

Установка проекта

# клонирование репозитория (ssh-протокол)
git clone git@github.com:buravlev-arthur/games-selling-parser.git

# установка Bun, если его ещё нет
npm i -g bun

# установка проекта
cd games-selling-parser && bun i

Для подключения к базе данных (используется MySQL), необходимо в корне проекта создать файл .env и заполнить его следующим содержимым:

DB_HOST="<ip or domain of mysql-server's host>"
DB_USER="<database user>"
DB_PASSWORD="<database password>"
DB_NAME="<database name>"
DB_PORT="<mysql-server's port>"
MAIL_USER="<mail of sender>"
MAIL_PASSWORD="<mail-service password>"
MAIL_TO="<mail of receiver>"

Запуск парсера

# Однократный запуск парсера
bun run ./bin/index.ts

# Установка в pm2 с перезапуском парсера каждые 24 часа
export NPM_GLOBALS_PATH=$(npm root -g)/bun/bin/bun
pm2 start --name Games_selling_parser --interpreter $NPM_GLOBALS_PATH --restart-delay=86400000 ./bin/index.ts

Тестирование

# прогон тестов
bun test

# покрытие кода
bun test:coverage