- Endpoint: ...
- взаимодействие в реaльном времени, список чатов и сами переписки постоянно обновляются.
- полная поддержка одновременных сессий каждого юзера с разных устройств
- поддержка CRUD операций над пользовательскими ресурсами
- все CRUD операции выполняются через http запросы к сервисам, а состояние обновляется через websocket.
- шифрование сообщений на уровне базы данных
- прямая передача/прием файлов юзера в объектное хранилище с помощью pre-signed URL
- способность эффективно масштабировать, благодаря микросервисной архитектуре и очередей сообщений
- использование и адаптация проверенных open-source решений и архитектурных шаблонов
Подробности реализации и взаимодейсвтия сервисов описаны в README их директорий, структура директорий описана в пункте «Структура папок».

.
├── chat - чаты и сообщения
├── compose-local - docker compose с файлами инициализации для локального запуска
├── e2e - е2е тесты
├── profile - профили
├── front - фронтенд
├── shared - общие директории для импорта в нескольких сервисах
└── websocket - веб сокет
- Переход с Kafka на более подходящий Redis pub/sub для коммуникации с WebSocket
- Продумать систему версионирование ключей для аватаров и ввести CDN
- Добавить возможность отправки медиа файлов в сообщениях
- Добавить возможность видеть онлайн ли собеседник
- Отобразить весь функционал бэкенда на фронтенде
- Покрыть е2е тестами все сервисы