Доработать API бэкенда NodeJS + Express + MySql + Socket.IO

10 000 руб. за проект
29 ноября 2021, 23:12 • 4 отклика • 44 просмотра
Нужные навыки
NodeJs - Express
SocketIO
MySql

ТРЕБУЕТСЯ ДОРАБОТАТЬ КОД, КОТОРЫЙ БЫЛ НАПИСАН ПО СЛЕДУЮЩЕМУ ТЗ (НО НЕ РАБОТАЕТ)

чат на сокетах
1. Написать новый метод для обработки сабмита сообщения в чат.
Поля запроса:
IdFrom: int,
IdTo: int,
Text: varchar| text (Length 1000)
Attachments: (реализация на сервере)
Datetime: datetime default NOW()

2. Получить сообщения
- авторизация или другой механизм что бы доступ к сообщениям получил только получатель/отправитель
https://www.npmjs.com/package/express-socket.io-se...
http://www.passportjs.org/packages/passport-local/ - локальная стратегия
на этапе handshake сокета проверять валидность куки клиента. и тем самым авторизовть его по текущим кукам
- получение сообщений из базы данных с пагинацией (20 сообщений за запрос) endless scroll

3. Метка онлайн
-каждые 30 секунд отправлять alive пакет и обрабатывать статус пользователя в бд (если в течении минуты пакета не появились - поставить статус офлайн)
организовать presence на основе встроенного в socket.io механизм heartbeat
пристроиться к его эвентам и на основе этого держать флаг presence юзера актуальным

4. Платежи
https://www.npmjs.com/package/uniteller-node
- подключить платежку Uniteller
- зачислить деньги на баланс если пополнили баланс
- списать деньги если пользователь купил услугу за счет баланса
- создавать платежные данные на входные данные (если пользователь платит не с баланса а напрямую)(на общую сумму заказа сделать платежку)
- проверка платежки

написать документацию к выше описанному функционалу

Работаем только по безопасной сделке или постоплате

Не студия, собственный проект