Node.js + puppeteer формирование отчетов
5 000 руб. за проект
Реализовать сервис формирования отчетов, используя puppeteer.
На вход сервиса будет поступать html код и путь к css файлу. Это код нужно передать puppeteer, сделать скриншот всего экрана и вернуть результат: путь к скриншоту.
api
/createReport (post)
Параметры:
- jwt (JSON Web Tokens)
- html - код который
- viewportWidth
- format: pdf or png or jpeg
Jwt содержит
- css - путь к css файлу
Ответ в формате JSON
- filePath - имя файла скриншота (результат puppeteer);
Сервис ежечасно должен удалять ранее сформированные скриншоты: удалять те файлы, которые созданы более 6 часов назад.
Сервер будет запускать через PM2 https://pm2.keymetrics.io/
В pm2.config.js секции env (env_production) могут быть переданы следующие переменные:
- MZR_IMAGE_REPORT_PORT - порт на котором будет висеть сервис
- MZR_IMAGE_REPORT_HTTP_KEY - пример /etc/letsencrypt/live/domain.com/privkey.pem (используется если порт 443)
- MZR_IMAGE_REPORT_HTTP_CERT - пример /etc/letsencrypt/live/domain.com/fullchain.pem (используется если порт 443)
- MZR_IMAGE_REPORT_WEB_ROOT - путь к папке, содержимое которого будет отдаваться как статика. В этой папке будут храниться все скриншоты.
Сервис также всегда слушает порт 80, чтобы отдать файлы MZR_IMAGE_REPORT_WEB_ROOT /.well-known/acme-challenge/* для letsencrypt
Использовать express.js
Использовать typescript
Написать тесты.
Срок 7 дней
На вход сервиса будет поступать html код и путь к css файлу. Это код нужно передать puppeteer, сделать скриншот всего экрана и вернуть результат: путь к скриншоту.
api
/createReport (post)
Параметры:
- jwt (JSON Web Tokens)
- html - код который
- viewportWidth
- format: pdf or png or jpeg
Jwt содержит
- css - путь к css файлу
Ответ в формате JSON
- filePath - имя файла скриншота (результат puppeteer);
Сервис ежечасно должен удалять ранее сформированные скриншоты: удалять те файлы, которые созданы более 6 часов назад.
Сервер будет запускать через PM2 https://pm2.keymetrics.io/
В pm2.config.js секции env (env_production) могут быть переданы следующие переменные:
- MZR_IMAGE_REPORT_PORT - порт на котором будет висеть сервис
- MZR_IMAGE_REPORT_HTTP_KEY - пример /etc/letsencrypt/live/domain.com/privkey.pem (используется если порт 443)
- MZR_IMAGE_REPORT_HTTP_CERT - пример /etc/letsencrypt/live/domain.com/fullchain.pem (используется если порт 443)
- MZR_IMAGE_REPORT_WEB_ROOT - путь к папке, содержимое которого будет отдаваться как статика. В этой папке будут храниться все скриншоты.
Сервис также всегда слушает порт 80, чтобы отдать файлы MZR_IMAGE_REPORT_WEB_ROOT /.well-known/acme-challenge/* для letsencrypt
Использовать express.js
Использовать typescript
Написать тесты.
Срок 7 дней
- Файлы
Отзывы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.