# DESERT MESSENGER ### Современный и функциональный мессенджер, ориентированный на скорость и безопасность ## 1. Идея Desert создан как более удобная, производительная и безопасная альтернатива Discord. В основе лежит концепция личных чатов и "гильдий" - групповых чатов с неограниченным количеством текстовых и голосовых каналов. ## 2. Архитектура системы ### Backend (Rust) Серверная часть написана на Rust для обеспечения максимальной скорости и безопасности памяти. ### Frontend (Flutter) Клиент реализован на кроссплатформенном фреймворке Flutter для обеспечения доступности на максимуме платформ в будущем. ## 2. Организация пространства ### Гильдии (Guilds) В отличие от Discord и других аналогов, Desert предлагает более глубокую кастомизацию - древовидную систему каналов с поддержкой категорий и подканалов. Типы каналов: * *Текстовые:* текстовые чаты с поддержкой Markdown. * *Голосовые:* голосовые каналы с поддержкой аудио и видео высокого качества (до 4K) ### Личные сообщения (DMs) Дублируют функционал текстовых чатов гильдий, но только для двух пользователей. ## 4. Безопасность и Шифрование * **Опциональный E2EE:** Пользователь сам решает, когда включать сквозное шифрование. Это позволяет балансировать между удобством (поиск по истории на сервере) и абсолютной приватностью. * **Хранение ключей:** Приватные ключи генерируются на устройстве и хранится там. Сервер никогда не видит приватный ключ. * **Анонимность:** Регистрация возможна без привязки к номеру телефона, что снижает риск деанонимизации. ## 5. Платформенные особенности * **Android (Native):** Полноценное приложение с фоновыми сервисами для мгновенных push-уведомлений и виджетами для рабочего стола. * **iOS (PWA):** Использование современных возможностей Service Workers и Web App Manifest для обхода ограничений Store-площадок, при этом сохраняя иконку на рабочем столе и быстрый доступ. * **Desktop (Win/Mac/Linux):** Не разработан, находится на этапе планирования * **Web:** Версия на Flutter Web (CanvasKit) для мгновенного доступа из любого браузера без установки. ## 6. Экосистема и возможности для разработчиков В разработке