hw.txt 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. 16.05.2020
  2. 1) Сделать контроллер, который методом get будет отдавать одно сообщение по номеру (/message/1, /message/2) --- done
  3. 2) Сделать фронт для чата используя fetch с get и post --- done
  4. 3) Добавить в бэк методы put и delete для изменения и удаления сообщений. Используйте адреса вида /message/1, /message/2 --- done
  5. 4) добавить на фронт удаление и изменение сообщений --- done
  6. -----------------------------------------------------------------
  7. 20.05.2020
  8. на базе кода с занятия, доделать фронт (расположить его в public/index.html и `public/index.js и тп.):
  9. 1) умеет визуально удалять и изменять сообщения с отправкой соответствующих запросов на сервер --- done
  10. 2) умеет прикреплять файл к сообщению, используя заливку и дополнительное поле в объекте сообщения (file или image с именем залитого на сервер файла) --- done
  11. 3) умеет показать картинку (или скачать файл) в сообщении на фронте --- done
  12. 4) ответы на сообщения. Коль у нас свободная структура сообщения, то можно добавить кроме поля image номер сообщения, на которое это сообщение является ответом. Фронтенд должен это обеспечить:
  13. - запоминания на что отвечаем
  14. - отправку replyToId вместе с nick и message
  15. - при приеме сообщения с таким полем включить в ответ исходное сообщение визуально
  16. Бэк: продумать ответы на сообщения. Для этого в ответе надо хранить номер сообщения, на который отвечают.
  17. -----------------------------------------------------------------
  18. 23.05.2020
  19. ДЗ: на базе кода предыдущего занятия и материала лекции заменить массив history на класс Message полученный с применением библиотеки mongoose на базе схемы. --- done
  20. Для поиска сообщений используйте статический метод Message.find, для создания сообщения new Message.
  21. Документы в mongo при использовании mongoose представлены объектами javascript. Для сохранения используйте метод save. --- done
  22. Добавьте по аналогии класс Image, который будет хранить в базе данных описание картинки. Схема может включать имя файла на диске, размер и т.п. Так же по возможности используя библиотеку sharp создайте уменьшенные версии картинок и сохраните их в других именах файлов -
  23. например с добавкой _NNN (NNN - размер картинки в пикселях). В таком случае добавьте в схему документов Image поля для имен файлов уменьшенных версий.
  24. Добавьте в Message ссылки (mongoose.Types.ObjectId) на картинки (image) и сообщение для ответа.(replyTo)
  25. приведите фронт в соответствие обновленному серверу.