Общее описание задачи
Существует бэкенд на Go, интегрированный с сервером Synapse. Его доработать: добавить недостающую функциональность, вникнуть в код, после - реализовать следующий функционал:
Функциональные требования
Отправка сообщений
- Пользователь выбирает контакт из списка и нажимает «Написать сообщение».
- Открывается поле ввода текста и кнопка «Отправить».
- Сообщение доставляется получателю.
Получение и чтение
- Адресат получает оповещение о новом сообщении (pust- и/или inbox-уведомление в приложение).
- При открытии сообщения отображается ветка диалога: текст сообщения, а также поле ввода и кнопка «Отправить» для ответа.
- История всей переписки доступна при прокрутке (swipe-to-refresh снизу вверх для подгрузки старых сообщений).
Дополнительно (обсудить на первом этапе)
- Поддержка прикрепления изображений и документов.