Доработать чат на node.js
Решили для сайте сделать real-time chat, который в реальном времени будет оповещать о новых и доставлять новые сообщения.
Над проектом работал другой человек, но так как у него долгое время очень много работы, я принял решение отдать проект на доработку на фриланс.
Вот собственно сам чат проекта.
Сам проект написан на php7, mysql 5.7, nginx.
Ссылка на историю всего проекта, что и как было сделано для ознакомления.
В конце есть тз того что прошлый человек начал делать и не доделал.
Что именно нужно сделать:
Сейчас обработчик ошибок, очень странный, надо его обсудить.
В интерфейс работы с ws добавить три функции done, success и fail
Формат ответа приняли следующий
{
type: string - название события
data: mixed - объект ответа
error: mixed - объект ошибки
}
Если соединение рвется надо реконнект делать и вообще когда может произойти обрыв.
Сейчас не доставится отредактированное сообщение всем.
То есть человек А удаляет диалог с человеком Б, но диалог не удаляется а скрывается и когда уже человек Б тоже удаляет диалог, то он уже точно удаляется из таблицы. Также массовое удаление диалогов.
Реализовать механизм добавления пользователей в черный список (см. Формат таблицы). Нельзя добавить самого себя в чс, добавление несуществующего юзера, добавление уже существующего в черном списке юзера.
Проверки. Причем некоторые проверки надо добавить еще и в создание диалога. Блокировка на уровне бана аккаунта.
Добавить проверку заблокирован ли отправитель сообщения или получатель, если заблокирован, то выводим ошибку кто заблокирован.
Проверка не заблокировано ли у отправителя возможность отправлять сообщения. Если блок, то ошибку показать.
Проверка на 1000 символов, если более 1000 символов, обрезаем.
Не занес ли получатель в черный список отправителя сообщения, и наоборот не занес ли в чс отправитель получателя. Описать формат таблицы ниже
Нельзя отправить пустое сообщение.
Сейчас допустим если у меня открыта вкладка одна с диалогов, я отправлю сообщение, то ответ придет на одну вкладку, то есть сообщение которое я отправил не появится во второй вкладке. - реализация на клиенте
Поиск диалогов, то есть будет форма я ввожу туда ник или id получателя, и он мне выдает список диалогов.
Есть системные сообщения. В кроне реализовать функционал попыток отправить рест запрос на сервер, по истечению количества попыток - отправить сообщение в базу данных (таблица messages).
Реализовать рест доступ к функции отправки сообщений + защитить JWT
Из выше перечисленного не выполнено 4,8,9 пункты. Но опять же все нужно проверить и починить если что-то не работает из выше перечисленного. Также возможно я что-то захочу доработать.
Все что вам не понятно, я объясню покажу, расскажу.
Проект небольшой, я не готов платить сверх большие суммы, но я готов заплатить адекватную цену за ваш труд.
Оцените за сколько готовы сделать, я со своей стороны скажу готов ли я ее заплатить.
Безопасная сделка.
Работу требуется сделать в кротчайшие сроки.
-
204 1 0 Приветствую. По поводу 4 есть предложение как реализовать. По поводу 8 тоже понятно, осталось только уточнить момент верстки. По 9 есть вопросы, но думаю, что они отпадут, если объясните что за запрос, откуда и на какой сервер.
Ко всему прочему — есть опыт с socket.io (увидел в документе, не увидел в проекте на гите), express и sequelize (увидел в зависимостях проекта) и с чатами как такими.
Актуальные фриланс-проекты в категории Javascript и Typescript
Full-stack разработка — Amazon PPC Dashboard (Stage 1)Нужен full-stack разработчик с опытом работы с Amazon API для реализации Stage 1 внутреннего PPC-дашборда. Проект реальный, данные живые, всё готово к старту. Прототип фронтенда (5 страниц, React + TypeScript): ЧТО УЖЕ ГОТОВО — Фронтенд-прототип на React 18 + TypeScript + Vite… Javascript и Typescript, Веб-программирование ∙ 2 дня 8 часов назад ∙ 28 ставок |
Разработка сайта-конструктора фотокниг и фоторамокЦель проекта Необходимо разработать современный веб-сайт для заказа фотокниг, фоторамок и другой персонализированной фотопродукции. Главная задача проекта — предоставить клиенту возможность самостоятельно создать готовый макет изделия непосредственно на сайте без участия… Javascript и Typescript, Веб-программирование ∙ 4 дня назад ∙ 96 ставок |
Команда для самописного маркетплейса ритуальных услуг.Ищем команду для запуска и развития самописного национального маркетплейса ритуальных услуг. Сразу: не ищем одиночек, джунов и “сборщиков сайтов”. Нужна сильная продуктовая команда уровня middle+/senior с реальными кейсами маркетплейсов/сложных SaaS. Просьба не откликаться,… Javascript и Typescript, Веб-программирование ∙ 4 дня 18 часов назад ∙ 27 ставок |
Доработка существующего Next.js/Supabase проекта: офферы, CRM, аналитика, AI-чатЕсть действующий проект WatchGenius — платформа аналитики люксовых часов с каталогом моделей, ценовой аналитикой, внешними офферами, формами заявок и AI-чатом. Проект уже разработан частично. Нужен не сайт с нуля, а опытный full-stack разработчик, который сможет разобраться в… Javascript и Typescript, Веб-программирование ∙ 6 дней 20 часов назад ∙ 55 ставок |
Ищу Senior Full-Stack разработчика (Payload CMS) — миграция 2 сайтов гостиничной сетиСеть курортных отелей переходит с Webflow на собственный headless-стек. Два корпоративных сайта (~140 страниц вместе), multi-tenant архитектура — один код обслуживает несколько отелей на разных доменах. Проект уже стартовал: инфраструктура развернута, tenants настроены, базовые… CMS, Javascript и Typescript ∙ 10 дней 17 часов назад ∙ 19 ставок |