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