12345678910111213141516171819202122232425262728293031323334353637383940 |
- 16.05.2020
- 1) Сделать контроллер, который методом get будет отдавать одно сообщение по номеру (/message/1, /message/2) --- done
- 2) Сделать фронт для чата используя fetch с get и post --- done
- 3) Добавить в бэк методы put и delete для изменения и удаления сообщений. Используйте адреса вида /message/1, /message/2 --- done
- 4) добавить на фронт удаление и изменение сообщений --- done
- -----------------------------------------------------------------
- 20.05.2020
- на базе кода с занятия, доделать фронт (расположить его в public/index.html и `public/index.js и тп.):
- 1) умеет визуально удалять и изменять сообщения с отправкой соответствующих запросов на сервер --- done
- 2) умеет прикреплять файл к сообщению, используя заливку и дополнительное поле в объекте сообщения (file или image с именем залитого на сервер файла) --- done
- 3) умеет показать картинку (или скачать файл) в сообщении на фронте --- done
- 4) ответы на сообщения. Коль у нас свободная структура сообщения, то можно добавить кроме поля image номер сообщения, на которое это сообщение является ответом. Фронтенд должен это обеспечить:
- - запоминания на что отвечаем
- - отправку replyToId вместе с nick и message
- - при приеме сообщения с таким полем включить в ответ исходное сообщение визуально
- Бэк: продумать ответы на сообщения. Для этого в ответе надо хранить номер сообщения, на который отвечают.
- -----------------------------------------------------------------
- 23.05.2020
- ДЗ: на базе кода предыдущего занятия и материала лекции заменить массив history на класс Message полученный с применением библиотеки mongoose на базе схемы. --- done
- Для поиска сообщений используйте статический метод Message.find, для создания сообщения new Message.
- Документы в mongo при использовании mongoose представлены объектами javascript. Для сохранения используйте метод save. --- done
- Добавьте по аналогии класс Image, который будет хранить в базе данных описание картинки. Схема может включать имя файла на диске, размер и т.п. Так же по возможности используя библиотеку sharp создайте уменьшенные версии картинок и сохраните их в других именах файлов -
- например с добавкой _NNN (NNN - размер картинки в пикселях). В таком случае добавьте в схему документов Image поля для имен файлов уменьшенных версий.
- Добавьте в Message ссылки (mongoose.Types.ObjectId) на картинки (image) и сообщение для ответа.(replyTo)
- приведите фронт в соответствие обновленному серверу.
|