Add requirements for group chats (in general requirements document)

This commit is contained in:
ChronosX88 2020-09-15 00:58:37 +04:00
parent 93d8a756d5
commit 1a5171e283
Signed by: ChronosXYZ
GPG Key ID: 085A69A82C8C511A

View File

@ -1,5 +1,7 @@
# Functional requirements
## General
1. Possibility of federation (via clearnet, yggdrasil, etc.) *(pztrn)*
- The ability to prohibit, prefer, require SSL for federation. *(pztrn)*
- For example, for yggdrasil, SSL is redundant, since there each node tries to connect to each node that it communicates with, and SSL creates an unnecessary load. *(pztrn)*
@ -23,7 +25,7 @@
9. Native clients under all major OS. We can use Go + Qt5, since we are making all free & open source.
- The question remains with the client for iOS, but if we make a suitable protocol that will work and will allow us to map the Telegram in the form of transport, I have a person who will make the client for iOS :) In general, given the having of a macOS, I can try to do it myself but "somehow later", because my target OS is Windows/Linux/macOS/Android *(pztrn)*
## Чаты
## Chats
1. 1-on-1 chats (with/without saving history)
2. Multi-user (group) chats
@ -41,3 +43,22 @@
10. User channels (as in Telegram)
- I propose to implement this not as a "subsystem" of the chat, but as a separate entity with the ability to comment and everything you need, in the form of like dislike. In a Telegram, nevertheless, this "crutch" is more than a really suitable system. *(pztrn)*
11. Seamless chat history system (as in Telegram). A simple yet powerful API is **required**.
### Group chats
1. Chat information
1. Avatar
2. Description
3. Members
2. Admin system
1. Set avatar/group name/description
2. Kick the user from members
3. Ban the user for some time (or forever)
4. Mute the user (restrict sending messages or media)
5. Set group alias
6. Set group invite link
7. Manage the admins (flexible setting the permissions of admins (every aspect))
8. View the recent actions of admins
9. Pin the messages
10. Ability to give name (as position, role) for every admin
3. Ability to set group aliases on other servers