Общая задача
Необходимо доработать существующий бэкенд на языке Go, который взаимодействует с сервером Matrix (Synapse). Проект уже начат, требуется погрузиться в код и добавить новую функциональность.
Функция: Отправка личных сообщений
Реализовать механизм, позволяющий пользователю отправлять текстовые сообщения своим контактам внутри приложения.
Как это должно работать (со стороны пользователя-отправителя):
- Пользователь выбирает нужный контакт.
- Нажимает опцию «Написать сообщение».
- В открывшемся поле вводит текст и нажимает кнопку «Отправить».
Как это должно работать (со стороны пользователя-получателя):
- Получает уведомление (пуш/системное) о новом входящем сообщении.
- При открытии приложения видит непрочитанное сообщение.
- Может прочитать его и ответить.
Требования к реализации
- Хранение и передача сообщений осуществляются через сервер Synapse (Matrix).
- Вся логика бэкенда пишется или дорабатывается на Go.
- Необходимо использовать существующую архитектуру проекта и базу данных.
- Уведомления (оповещения) должны генерироваться на стороне сервере (сиcтема пуша, или WebSocket).