Задача: В готовом сайте, написанном на Yii2 реализовать отдельный инструмент на node.js переписку "клиента и поставщиков" и "поставщика с поставщиками" по принципу чата социальной сети. Т.е. в личном кабинете пользователя (покупателя или продавца) необходимо реализовать раздел Сообщения с индикатором непрочитанных сообщений заходим в раздел там вертикальный список "контрагентов" пользователя. Переписка пользователей разнесена по названию поставщиков. Напротив каждого поставщика индикатор непрочитанных сообщений. Выбираем поставщика разворачивается диалог (по принципу ВК).
Комментарии к ТЗ:
Переход по ссылке Переписка открывается страница с чатом между компаниями-поставщиками.
Это должен быть непрерывный чат как в ВК, как в скайпе, с возможностью удаления действующих лиц и поиска между существующими чат-сессиями.
Чат с поставщиком начинается не автоматически, а только после того, как поставщик оплатит первый запрос (заявку) от данного клиента. При поступлении последующих заявок от клиента чат уже открыт-ничего не блокируется. Т.е. блокировкой является факт отсутствия оплаты по одной (любой) заявки со стороны конкретного клиента (контрагента). У каждого клиента есть логин и id (хранимый в mysql) соответственно, верификация факта оплаты должна осуществляться либо по id, либо по логину (нужно посмотреть какая запить приходит с робокассы -по id или логину).
Запрашивается поставщик с карточки его товара:
Запросить поставщика запросил и этот поставщик сразу добавился в чат-систему с отражением первого запроса от клиента, который был прописан в форме "Сообщение" формы запроса. Обращаю внимание, что однотипных товаров в системе будет много, НО каждый товар имеет свой id, закрепленный за конкретным поставщиком. Важно, чтобы чат начинался именно с тем поставщиком, чей товар был запрошен.
Итого: данный чат со стороны клиента поставщику виден только тогда, когда поставщик оплачивает от клиента пришедшую заявку (любую первую заявку от ДАННОГО клиента с уникальным id и логином).
Слева вместа меню навигации навигация между Поставщиками (чат-объектами), как в скайпе.
Т.е. слева вместо навигации по категориям делаем вертикальное меню с выбором компаний с которыми чатиться. И напротив них кол-во непрочитанных сообщений. При этом общая калькуляция непрочитанных сообщений напротив ссылки Переписка (в скобках, как заявки).
Оплата заявки когда запрашиваешь Поставщика через форму запроса к нему приходит заявка (это уже реализована). Эту заявку поставщик просмотреть не может пока ее не оплатит. Когда оплатит она раскрывается к просмотру. Так вот нужно сделать так, чтобы Поставщик в чат с клиентом тоже мог вступить только когда заявка будет оплачена. Т.е. собеседник (пользователь) отправляя заявку сразу видит в разделе Сообщения, что он как бы "начал" чат с поставщиком, может даже ему что-то дописать в чат еще, НО поставщику чат по этому пользователю откроется только после того как заявку от него оплатит. А чтобы скорей оплатил будет отлично если напишите сообщение "Оплатите заявку от покупателя для возможности общения с ним". И ссылка на эту заявку (т.е. такая заявка помечается сразу тэгом для экспресс переходя на нее с комментария Оплатите заявку от покупателя) .Пока клиент ждет ответа от поставщика Можно серым будет написать в чат-сессии- "Поставщик еще не обработал Вашу заявку. Ожидайте." Как только он ее покупает чат становится активным с двух сторон.
Уведомления о новом сообщении должны приходить в процессе чата и/или нахождения пользователя вне чата.
Необходимо будет редактировать и удалять сообщения в чат-сессиях.
Итого, резюме:
1. Пишем на node.js
2. Срок до среды следующей недели = 25.03.2015г.
3. Итоговый бюджет = 20.000 руб.
4. VDS первично выбираем VPS Start (потом перенесем если будет захлебываться)
5. Если в плане разработки будут возникать вопросы/пожелания согласовываем их по ходу работы, не ссылаясь на то, что "это" не было говорено в ТЗ. Переиначивать что-либо мы не будем, но всегда появляется момент, который был недосказан.
6. Первоначальная сдача и приемка и отладка на сервере исполнителя. Без предоставления исходного кода opt.expert. Далее прикрутка кода к сайту на нашем сервере. Окончательная проверка дееспособности задачи на нашем сервере.
7. Настройка сервера VDS, прикрутка к нему Git c Bitbasket, предоставление логина и пароля администратора для контроля и приемки изменений в коде.
8. Полная оплата в размере 20000 рублей после окончательной приемки перенесенного сайта на наш сервер с проверкой чат-модуля.