Доработать проект. Laravel Livewire

8 000 руб. за проект
06 мая 2021, 22:39 • 1 отклик • 15 просмотров
Дано:

Веб приложение, при помощи которого пользователь может конвертировать doc\docx файлы в jpg.

Фронтэнд: Одностраничный сайт, где пользователь может загрузить doc\docx файл и получить на выходе архив с набором изображений контента ранее загруженного документа. Видео - https://monosnap.com/file/aeJ7bSJ6CFl5rrQa2saqoaPY...

Бэкенд: Построено на Laravel Livewire - https://laravel-livewire.com/. Как работает: Laravel контролирует очередь запуска bash команд, которые запускают сторонний софт. Софт конвертирует файлы. Данные о загрузке нового файла, процесса конвертации и тд хранятся в mysql. Механизм работы бэкенда менять не нужно.

Приложение написано для работы на linux, где установлены libreoffice headless и pdftoppm. На ubuntu устанавливаются двумя командами (вышлю инструкцию по запросу).

Репозиторий проекта - https://gitlab.com/00pp/zconvert

Требуется:
  1. API команды для crontab
    1. Нужна api команда, которая будет удалять уже скачанные файлы.
    2. Также нужна команда, удаляющая не скачанные файлы, которые лежат на сервере больше X дней.
  2. Нужно изменить названия файлов, которые скачивает юзер. Проблема в том, что Chrome помечает скачанный zip файл как подозрительный (Not commonly downloaded). Возможно, это происходит из-за названия zip файла. Нужно попробовать:
    1. Если на выходе выдаем один файл, то не архивировать его. Например, при конвертации одного docx в pdf было бы хорошо отдавать на скачивание pdf, а не zip.
    2. Если конвертируем так, что на выходе получается много файлов, то в название zip файла вписывать название doc\docx файла. Если файлов было загружено много, то вписывать название первого. Название нужно трансформировать в латиницу (по аналогии работы slugify).
      1. С названиями файлов важно учесть то, что разные юзеры могут загружать файлы, которые будут называться одинаково. 1.doc, file.docx и тд. Важно сделать так, чтоб файлы в итоге не путались.
  3. Если конвертируем много docx в картинки, то нужно каждый набор картинок класть в отдельную папку. Название папки, желательно, чтоб содержало хотя бы часть названия файла, полученного на входе.
  4. Нужно прикрутить invisible reCAPTCHA при загрузке документов.
  5. Для каждой страницы проекта нужны
    1. Мета тег <title>
    2. Текст, который будет размещаться в футере. Где это дело размещать - можно прям в коде. Можно в title в коде, а текст где-то в файле. Для текста нужно сделать блок в нижней части страниц. Это касается главной страницы и страниц конвертации.
После выбора файлов на загрузку юзер может добавить файлы. После попытки добавления любого кол-ва файлов нужно выводить ненавязчивое статическое сообщение “5 files maximum”.
Отзывы
 
3 года назад
 
3 года назад