Нужна front-end часть для javascript чата.
Чат будет выпадать в отделбьном слое по ссылке "Сообщения" (как на картинке 1).
Чат имеет два варианта отображения
1) слева беседы, справа выбранная беседа (рисунок 2)
2) поиск собеседников (рисунок 3)
Файл messages.js показывает как его нужно встроить в страницы сайта.
Серверные методы
- unread() вернет кол-во непрочитанных сообщений
- dialogs(int offset, int size) вернет массив диалогов
- messages(int offset, int size) вернет массив сообщений
- serachUser(string q) вернет массив пользователей
- postFile() залить файл на сервер (уже используется
- postMessage() отправить сообщение (если нужно прикрепить файл, то вызываем postFile перед этим методом)
- deleteMessage(id)
- deleteDialog(id)
- readMessage(id) пометить сообщение прочитанным
Дополнительные требования
- jquery или javascript + верстка на bootstrap
- получать сообщения через signalr или socket.io (вот это нужно обсудить как лучше сделать)
- хранить свое состояние в sessionStorage
- уметь не терять сообщения в условиях перезагрузки страницы (так как сайт не является SPA)
- по этой же причине желательно не грузить все данные пока пользователь не кликнул первый раз на ссылку "сообщения" чтобы открыть чат
- проигрывать звук при новом сообщении в единственной вкладке (возможно использование page visibility api для определения открытости вкладки)
- иметь задел для создания групповых бесед
Для выполнения нужен опыт работы с websocket или подобной технологией, а также умение писать простой и поддерживаемый код.