cd into project folder
npm i
node index.jscd into project folder
docker build . -t <user>/<name-of-app>
docker run -p <port>:5000 -d <user>/<name-of-app>После запуска приложения в браузере доступна страница http://localhost:5000/ или http://localhost:port (объявленный при инициализации) при использовании докера, с помощью которой осуществляется выбор *.zip файла с сайтом содержанием вида:
- любое количество вспомогательных файлов и папок
- index.html
Важно: index.html обязательно в корневой директории
После выбора соответствующего файла пользователь кликает на кнопку "convert" и, при отсутствии ошибок, через непродолжительное время начинается скачивание сконвертированного в формат pdf сайта.
Попадая на '/' пользователь получает страницу с которой отправляет запрос POST на '/upload' с файлом .zip в форм-дате и, при отсутствии ошибок, после конвертации получает редирект GET на '/converted/<имя файла>' для скачивания pdf
Успешное конвертирование записывается в файл convert-history.log в корневой директории приложения в виде:
- дата конвертации
- имя файла: <уникальный цифровой ключ>-<имя файла при загрузке>
- потраченное время на конвертацию в милисекундах
- кол-во оперативной памяти использованное при операции
Заметка: уникальный ключ использован для решения проблемы с одинаковыми названиями и для упрощения поиска
Проект использует Swagger-ui доступный по адресу http://localhost:5000/api-docs/
При возникновении ошибки пользователь получает json с сообщением об ошибке. Прежде чем загружать файл убедитесь, что:
- файл имеет расширение .zip
- файл имеет размер менее 2Гб
- в корневой директории имеется файл index.html