Relic Chat
Свой мессенджер уровня Telegram для «Семейной реликвии»: чаты и группы, файлы и голосовые, звонки на WebRTC, приложение на телефоне без магазинов.
- Fastify + PostgreSQLплатформа
С чем пришёл клиент
«Семейной реликвии» нужен был свой мессенджер уровня Telegram, а не чат-виджет: в нём сотрудники, генеалоги и клиенты переписываются, пересылают документы и созваниваются, не уходя в сторонние сервисы. Историю общения со старой платформы требовалось перенести целиком. Осенью 2026 года добавилась вторая задача: заменить первый интерфейс новым, привычным как в Telegram, не потеряв ни одной переписки и не останавливая работу.
Что сделали
- Собрали сервер на Fastify, PostgreSQL и Redis: сообщения в реальном времени через Socket.IO, файлы до 80 МБ, пуш-уведомления
- Перенесли пользователей и историческую переписку со старой платформы без потерь
- Сделали аудио- и видеозвонки на WebRTC со своим TURN-сервером, демонстрацией экрана и шумоподавлением прямо на устройстве
- Связали мессенджер с кабинетом «Агрегатора архивов» единым входом: отдельного пароля нет, чат открывается сразу под нужным аккаунтом
- Выпустили новый интерфейс с двумя отдельными вёрстками, для компьютера и для телефона, поверх работающего сервера и без единой правки в нём
- Реакции, стикеры и «Переслано от», которых в сервере не было, вынесли в отдельный небольшой сервис
- Перед каждой выкладкой гоняем около 3 700 автоматических проверок в Chromium и WebKit на размерах iPhone, откат делается одной командой
Что получилось
19 октября 2026 года новый интерфейс стал основным для более чем 260 пользователей. Переключение прошло в 6 утра за несколько минут: никого не разлогинило, все 25 тысяч сообщений и 3 тысячи файлов остались на месте, а прежняя версия работает по отдельному адресу как запасной выход. На телефоне мессенджер ставится как приложение, без App Store и Google Play.
Что умеет мессенджер
Переписка
- Личные чаты и группы, ответ с переходом к цитате, пересылка, редактирование и удаление у всех
- Закреплённые сообщения, поиск внутри чата, реакции и стикеры: 24 встроенных и свои наборы
- «Печатает…», «в сети», счётчик непрочитанных и отдельная отметка упоминания
- Часы, одна галочка, две: в группах видно, кто именно прочитал
- При плохой связи сообщение ждёт с кнопкой «Повторить» и переживает перезагрузку страницы
Группы и люди
- Название, фото и описание группы, роли создателя и администратора
- Вступление по ссылке-приглашению
- Упоминания через @ доходят, даже если чат заглушён
- Поиск по всем людям сервиса, контакты, блокировка и «Сообщить об ошибке»
Файлы и медиа
- Файлы до 80 МБ, перетаскивание в окно, выбор: сжать или отправить оригиналом
- PDF, Word, Excel и CSV открываются прямо в чате, без скачивания
- Галерея фото, видеоплеер со скоростью и «картинкой в картинке»
- Голосовые в одно нажатие, плеер с волной, перемоткой и ускорением
- Панель чата с медиа, файлами, ссылками и голосовыми, личное «Избранное» для заметок
Звонки
- Аудио и видео один на один и в группах, прямо в браузере
- Демонстрация экрана и камера по ходу разговора, без перезвона
- Нейросетевое шумоподавление на устройстве, эхоподавление и автоусиление
- При смене сети звонок сам переподключается, его можно свернуть и писать дальше
- Уведомление о входящем, а в переписке остаётся запись с длительностью или «Пропущенный»
Телефон и компьютер
- Две вёрстки на одном адресе: сайт сам открывает нужную под устройство
- На компьютере меню по правому клику и горячие клавиши в звонке, на телефоне шторки снизу и жест «назад»
- Ставится на экран «Домой» как приложение, обновления приходят сами
- Пуш-уведомления о сообщениях и звонках, даже когда вкладка закрыта
- Доводка под iPhone: клавиатура не перекрывает поля, вёрстка учитывает вырезы экрана
Вход, безопасность, оформление
- Единый вход из кабинета «Агрегатора архивов», при переезде никого не разлогинило
- Короткий токен доступа и защищённая кука, выход гасит сессию на сервере
- Документы показываются через фильтр: Word чистится, PDF не исполняет код
- Права в группах и блокировки проверяются на сервере, а не только в интерфейсе
- Четыре темы, по умолчанию в зелёных цветах кабинета: два сервиса выглядят как один продукт
На чём сделали
- Fastify 5
- Socket.IO
- PostgreSQL 16 · Prisma
- Redis 7
- Docker
- WebRTC · свой TURN
- RNNoise (WebAssembly)
- PWA · Web Push
- pdf.js · SheetJS
- SSO с «Агрегатором»
Другие проекты
Семейная Реликвия
Корпоративный сайт · Генеалогия
Основной сайт генеалогического центра: 11 услуг, портфолио, журнал, VIP-направление и личный кабинет. Переписали с Tilda на код.
Подробнее
КЭСИ Дистант
Лендинг · Образование
Рекламный лендинг колледжа под запуск формы «очно-онлайн»: квиз подбирает специальность и присылает PDF с программой.
Подробнее
БаллонМирГаз
Интернет-магазин · Технические газы
Интернет-магазин технических газов и баллонов: 7 газов, корзина и оформление заказа, заправка, обмен и аренда. Региональное SEO по области внутри одного домена.
Подробнее