Зафиксирована будущая админка SWChat для управления пользователями
Этот коммит содержится в:
+32
-1
@@ -24,6 +24,32 @@ SWChat-App создан как отдельный репозиторий для
|
|||||||
FluffyChat импортирован в SWChat-App.
|
FluffyChat импортирован в SWChat-App.
|
||||||
Найден pubspec.yaml upstream FluffyChat: name fluffychat, version 2.6.0+3553, Flutter/Dart SDK >=3.11.1 <4.0.0.
|
Найден pubspec.yaml upstream FluffyChat: name fluffychat, version 2.6.0+3553, Flutter/Dart SDK >=3.11.1 <4.0.0.
|
||||||
|
|
||||||
|
## Админка SWChat
|
||||||
|
|
||||||
|
Админка нужна обязательно и должна быть отдельным модулем поверх Matrix/Synapse Admin API.
|
||||||
|
|
||||||
|
Назначение админки:
|
||||||
|
- управление пользователями;
|
||||||
|
- создание/блокировка/разблокировка пользователей;
|
||||||
|
- сброс паролей;
|
||||||
|
- назначение и снятие admin-флага;
|
||||||
|
- просмотр профилей и устройств;
|
||||||
|
- управление чатами/группами;
|
||||||
|
- модерация жалоб;
|
||||||
|
- просмотр базовой статистики;
|
||||||
|
- настройки регистрации;
|
||||||
|
- настройки homeserver;
|
||||||
|
- управление TURN/STUN после добавления звонков;
|
||||||
|
- диагностика состояния Synapse/PostgreSQL/proxy.
|
||||||
|
|
||||||
|
Рекомендуемая схема:
|
||||||
|
- сначала можно использовать готовую Synapse Admin UI для технического управления;
|
||||||
|
- позже сделать собственную SWChat Admin Panel в стиле StackWorks;
|
||||||
|
- админку держать отдельно от публичного клиента;
|
||||||
|
- доступ к админке закрыть авторизацией, IP allowlist и HTTPS.
|
||||||
|
|
||||||
|
Админка не должна светить технические Matrix-термины обычным пользователям, но внутри может работать с Matrix user_id, room_id и Admin API.
|
||||||
|
|
||||||
## Текущая архитектура установки
|
## Текущая архитектура установки
|
||||||
|
|
||||||
Принято решение ставить SWChat Core на отдельный новый сервер.
|
Принято решение ставить SWChat Core на отдельный новый сервер.
|
||||||
@@ -171,6 +197,7 @@ FastPanel proxy сервер и SWChat Core объединены в локаль
|
|||||||
- matrix.stackworks.ru — Matrix API / Synapse через FastPanel reverse proxy;
|
- matrix.stackworks.ru — Matrix API / Synapse через FastPanel reverse proxy;
|
||||||
- turn.stackworks.ru — TURN/STUN, новый SWChat Core сервер;
|
- turn.stackworks.ru — TURN/STUN, новый SWChat Core сервер;
|
||||||
- api-chat.stackworks.ru — backend API, новый SWChat Core сервер, если понадобится;
|
- api-chat.stackworks.ru — backend API, новый SWChat Core сервер, если понадобится;
|
||||||
|
- admin-chat.stackworks.ru — будущая SWChat Admin Panel;
|
||||||
- chat.stackworks.ru или messenger.stackworks.ru — web-клиент на FastPanel-сервере;
|
- chat.stackworks.ru или messenger.stackworks.ru — web-клиент на FastPanel-сервере;
|
||||||
- widget.stackworks.ru — отдельный production-виджет StackWorks, не часть Matrix/SWChat на текущем этапе.
|
- widget.stackworks.ru — отдельный production-виджет StackWorks, не часть Matrix/SWChat на текущем этапе.
|
||||||
|
|
||||||
@@ -191,6 +218,7 @@ FastPanel proxy сервер и SWChat Core объединены в локаль
|
|||||||
- групповые чаты;
|
- групповые чаты;
|
||||||
- отправка файлов/изображений;
|
- отправка файлов/изображений;
|
||||||
- операторы/админы;
|
- операторы/админы;
|
||||||
|
- админка управления пользователями;
|
||||||
- Telegram-like интерфейс без показа Matrix-комнат;
|
- Telegram-like интерфейс без показа Matrix-комнат;
|
||||||
- безопасная установка рядом с production, но на отдельном сервере;
|
- безопасная установка рядом с production, но на отдельном сервере;
|
||||||
- журнал состояния проекта в этом файле .sw.
|
- журнал состояния проекта в этом файле .sw.
|
||||||
@@ -210,6 +238,7 @@ FastPanel proxy сервер и SWChat Core объединены в локаль
|
|||||||
11. Собственный клиент SWChat начинать только после успешного тестирования Core через официальные Matrix-клиенты.
|
11. Собственный клиент SWChat начинать только после успешного тестирования Core через официальные Matrix-клиенты.
|
||||||
12. В собственном клиенте SWChat скрывать Matrix-комнаты и показывать пользователю обычные чаты/диалоги/группы.
|
12. В собственном клиенте SWChat скрывать Matrix-комнаты и показывать пользователю обычные чаты/диалоги/группы.
|
||||||
13. Основной визуальный и UX-ориентир будущего клиента — Telegram.
|
13. Основной визуальный и UX-ориентир будущего клиента — Telegram.
|
||||||
|
14. Админку SWChat делать отдельным защищённым модулем поверх Synapse Admin API.
|
||||||
|
|
||||||
## Текущий статус
|
## Текущий статус
|
||||||
|
|
||||||
@@ -249,6 +278,7 @@ FastPanel proxy сервер и SWChat Core объединены в локаль
|
|||||||
- Репозиторий клиентского приложения подтверждён: https://github.com/viktor138irk/SWChat-App.
|
- Репозиторий клиентского приложения подтверждён: https://github.com/viktor138irk/SWChat-App.
|
||||||
- FluffyChat импортирован в SWChat-App.
|
- FluffyChat импортирован в SWChat-App.
|
||||||
- Проверен pubspec.yaml FluffyChat в SWChat-App.
|
- Проверен pubspec.yaml FluffyChat в SWChat-App.
|
||||||
|
- Зафиксирована необходимость SWChat Admin Panel для управления пользователями и модерации.
|
||||||
|
|
||||||
## Текущий этап установки
|
## Текущий этап установки
|
||||||
|
|
||||||
@@ -267,4 +297,5 @@ SWChat Core локально работает на новом отдельном
|
|||||||
- проверить вход через Element по homeserver https://matrix.stackworks.ru;
|
- проверить вход через Element по homeserver https://matrix.stackworks.ru;
|
||||||
- закрыть прямой доступ к Core:8008 из интернета и разрешить только 192.168.0.221;
|
- закрыть прямой доступ к Core:8008 из интернета и разрешить только 192.168.0.221;
|
||||||
- проверить создание комнаты, отправку сообщений и файлов;
|
- проверить создание комнаты, отправку сообщений и файлов;
|
||||||
- после стабильного теста начать проектирование собственного web/android клиента с Telegram-like UX обычных чатов, а не Matrix-комнат.
|
- после стабильного теста начать проектирование собственного web/android клиента с Telegram-like UX обычных чатов, а не Matrix-комнат;
|
||||||
|
- отдельным этапом поднять готовую Synapse Admin UI или начать SWChat Admin Panel.
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user