Skip to content

1ocknight/mess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

285 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Мессенджер

  • Endpoint: ...

Содержание:

Основные возможности использования:

  • взаимодействие в реaльном времени, список чатов и сами переписки постоянно обновляются.
  • полная поддержка одновременных сессий каждого юзера с разных устройств
  • поддержка CRUD операций над пользовательскими ресурсами

Архитектурные особенности:

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

Архитектура:

Подробности реализации и взаимодейсвтия сервисов описаны в README их директорий, структура директорий описана в пункте «Структура папок». общая структура

Структура директорий:

.
├── chat - чаты и сообщения
├── compose-local - docker compose с файлами инициализации для локального запуска
├── e2e - е2е тесты
├── profile - профили
├── front - фронтенд
├── shared - общие директории для импорта в нескольких сервисах
└── websocket - веб сокет 

TODO:

  • Переход с Kafka на более подходящий Redis pub/sub для коммуникации с WebSocket
  • Продумать систему версионирование ключей для аватаров и ввести CDN
  • Добавить возможность отправки медиа файлов в сообщениях
  • Добавить возможность видеть онлайн ли собеседник
  • Отобразить весь функционал бэкенда на фронтенде
  • Покрыть е2е тестами все сервисы

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published