- После клонирования проекта запустим
npm i
- Создаём .env в корне проекта (на уровне файла
package.json
). И структура должна быть идентично в как в файлике.env.example
. Там есть необходимые секреты/переменные для postgres, redis и порт для приложения. - (Опционально если есть локальный postgres и redis) Чтобы можно было c лёгкостью управлять/удалять зависимости баз, я создал docker-compose именно для postgres и redis. Их можно поднять с помощью
docker-compose up -d
(смотря на контент внутри .env файла базы будут подняться с указанными настройками). В добавку есть entrypoint.sql который создан для миграции и создания единго юзера с id = 1 и balance = 1000. npm run dev
для разработки или жеnpm run build && npm run start
для продакшна.
В этом эндпоинте данные вытаскиваются от skinport api, и для каждого элемента массива присваивается tradable_min_price
и non_tradable_min_price
. После первого предварительно долгого запроса в skinport ответ кэшируется в redis на 5 минут.
В этом эндпоинте используется данные от выше указанного эндпоинта, по market_hash_name берётся продукт и функционал списывает цену товара от баланса эдиного юзера в базе. Если у нас первый раз сработал кэш от skinport то ответ-пейлоад от скин порта берётся с кэша - запросы будут близко к миллисекундам.