Исправить API бэкенда NodeJS + Exrpess + MySql + SocketIO
5 000 руб. за проект
Нужные навыки
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
- зачислить деньги на баланс если пополнили баланс
- списать деньги если пользователь купил услугу за счет баланса
- создавать платежные данные на входные данные (если пользователь платит не с баланса а напрямую)(на общую сумму заказа сделать платежку)
- проверка платежки
написать документацию к выше описанному функционалу
Работаем только по безопасной сделке или постоплате
Не студия, собственный проект
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
- зачислить деньги на баланс если пополнили баланс
- списать деньги если пользователь купил услугу за счет баланса
- создавать платежные данные на входные данные (если пользователь платит не с баланса а напрямую)(на общую сумму заказа сделать платежку)
- проверка платежки
написать документацию к выше описанному функционалу
Работаем только по безопасной сделке или постоплате
Не студия, собственный проект
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.