Мы с важной новостью: с 28 февраля 2025 года сервис Хабр Фриланс прекратит свою работу.

Купить услуги можно до 28 февраля 2025, но пополнить баланс уже нельзя. Если на вашем счете остались средства, вы можете потратить их на небольшие услуги — служба поддержки готова поделиться бонусами, на случай, если средств немного не хватает.

Chat

Добавлено 30 сен 2024 в 18:31
1. Аутентификация и авторизация с использованием JWT:
• В проекте используется JSON Web Token (JWT) для безопасной аутентификации пользователей.
• При успешной авторизации сервер генерирует токен, который передается клиенту и используется для дальнейших запросов с авторизацией.
• Токены проверяются на каждом защищенном маршруте с использованием middleware Express.js, чтобы ограничить доступ к приватным API на основе ролей и привилегий пользователя.
2. Хранение данных в MongoDB:
• База данных MongoDB используется для хранения данных о пользователях, заявках, товарах и сообщениях.
• Структура данных гибко настроена для хранения информации о заявках (заказчик, поставщик, стоимость, дата создания, статус).
• Коллекции MongoDB хранят историю чатов между пользователями и их метаданные (временные метки, отправители и т.д.).
3. API для заявок и управления товарами:
• С помощью Express.js реализованы RESTful API, позволяющие создавать, изменять, удалять и просматривать заявки.
• Поставщики и заказчики могут взаимодействовать через API для управления своими товарами и статусами заявок.
• API поддерживает фильтрацию заявок по статусам, типу товара и другим параметрам, обеспечивая гибкий доступ к данным.
4. Чат в реальном времени с WebSocket:
• Для обмена сообщениями между пользователями в рамках заявок реализован чат с использованием WebSocket для обновления сообщений в реальном времени.
• MongoDB хранит историю сообщений, а WebSocket обеспечивает мгновенную доставку новых сообщений между пользователями.
5. Проверка наличия товаров и обновление статусов:
• Бэкэнд обеспечивает возможность проверки наличия товаров у поставщиков с регулярными обновлениями статусов заявок (например, “черновик”, “в процессе”, “выполнено”).
• Интеграция с внутренними сервисами для отслеживания статусов выполнения заказов и уведомления пользователей об изменениях.
6. Безопасность и масштабируемость:
• В проекте используются JWT для защиты маршрутов API, обеспечивая безопасный доступ к данным только для авторизованных пользователей.
• MongoDB настроена для работы с большими объемами данных, обеспечивая масштабируемость системы при увеличении количества пользователей и заявок.
A68e45604e