Deployment: Github Pages
Backend: Repository
Server: Heroku
Настало время докрутить менеджер картинок, который вы делали на протяжении нескольких лекций. Теперь нужно, чтобы все картинки загружались и хранились на сервере. А при удалении удалялись с сервера.
Напишите серверную часть с использованием 'koa' (по аналогии с тем, как это было на лекции), но докрутите туда:
- Хранение списка картинок - предложите, как отдавать его на клиент (возможно, JSON?)
- Удаление картинок с сервера (при нажатии на кнопку удалить с клиента)
Подсказка
Делайте удаление методом POST: /?method=removeImage&id=<id>
Напоминаем, как он должен выглядеть:
Обратите внимание на несколько важных моментов:
- Ваш менеджер картинок должен по-прежнему поддерживать drag and drop и загрузку по клику
- Сервер на Heroku в бесплатной редакции "засыпает", при этом удаляются ваши файлы и то, что хранится в памяти (в этом нет ничего страшного, но это не должно быть для вас сюрпризом)
- Не загружайте больших картинок (более 1Мб): на всех серверах установлены ограничения, мы для упрощения этот момент опускаем
Вам придётся провести исследовательскую работу и выяснить, как удалять файлы с помощью API NodeJS. Надеемся, что вы справитесь с этим, но дадим небольшую подсказку: https://nodejs.org/api/fs.html
Вы можете реализовать развёртывание в удобном для вас формате: либо так, как это было описано на лекции (отдельно для frontend + GitHub Pages и backend + Heroku), либо собрать frontend и настроить backend так, чтобы он обрабатывал frontend так же, как картинки (см. koa-static с лекции) и развернуть единую сборку на Heroku.
Используйте FormData
для отправки данных. Авто-тесты к данной задаче не нужны.
В качестве результата пришлите проверяющему ссылку на GitHub репозиторий.