Dasihub
@Dasihub

Как правильно создать приложение Messenger?

Добрый день, сразу скажу я новичок в этом деле пожалуйста не гнобите меня, если я что-то написал неправильно. Я разрабатываю приложение для себя messenger, не для продакшан.

Стек приложеннии
Frontend: React
Backend: Node js, Express js
База данных: Postgresql

У меня несколько вопросов:

1. Как правильно создать архитектуру базу данных для messenger?
База должна хранить данные о пользователей, сообщении.

2. Сообщение с Frontend к Backend передаются через WebSocket для этого я использую библиотеку socket.io.
Есть первый пользователь и второй пользователь. Первый пользователь решил написать второму и тут я так понял у них должна быть отдельная комната. Где данные отправляются и приходят только к этому комнату. Чтобы подключится в комнату нужна id_room, но откуда мне брать эту id_room?

3. Как переключаться через комнаты. Представим первый пользователь и второй пользователь подключились к одному комнату, тут первый пользователь решил написать третьему пользователю. И чтобы первый пользователь и третий пользователь смогли общаться между собой для им нужна отдельная комната, но до этого первый пользователь был уже подключен с вторым пользователем и как ему переключится через комнату к третьему пользователю?
  • Вопрос задан
  • 140 просмотров
Решения вопроса 1
@strelok011
Судя по постановке вопроса - в голове полная каша из обрывков знаний, уж простите :)
Рекомендую посмотреть вот этот видеоурок, хоть он и не про мессенжер, а про интернет магазин.
В видео показаны этапы проектирования продукта, планирование базы данных, реализация, создание эндпойнтов, разработка фронт-приложения.
Если вдумчиво смотреть и сразу применять, разбираться почему и зачем, и как это можно будет расширить и изменить под себя, вы точно сможете сделать что-то свое.
Если не хватит базы знаний - копайте статьи в интернете по тому инструменту или области, которая для вас темный лес.
Вот тут в "двух словах" рассказано как сделать проект.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы