Русский  English  Все проекты

Исправить API бэкенда NodeJS Exrpess MySql SocketIO



Нужные навыки
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
- зачислить деньги на баланс если пополнили баланс
- списать деньги если пользователь купил услугу за счет баланса
- создавать платежные данные на входные данные (если пользователь платит не с баланса а напрямую)(на общую сумму заказа сделать платежку)
- проверка платежки

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


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

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



 Ответы фрилансеров