1. We need a Server push that can support Android, iOS and Web.
2. User can communicate with word or picture by this system, like WhatsApp or Facebook chat
3. Reference : [url removed, login to view]
User story :
1. Register a new account only need user name and password.
2. When users log in the system by Android, iOS or Web, they can see their friend groups in a list ;.
3. Users can choose one or several friends, and make a chat.
4. Users can watch their chat history in the chat window.
We need a functional-orientation back-end, emphasizing on Server and Database. It doesn't matter how it performs on such UI layout.
can you give me some feasibility analysis and suggestion on system architecture after reading the requirement above
1 web-p2p audio communication when two web client can go through each other,use Peer to peer audio communicaion within two web pages
2 web-p2p video communication when two web client can go through each other,use Peer to peer video communicaion within two web pages
3 web-audio and video relay in server When two web clients can not go through each other, use sever to relay the audio and video communication
4 web-relay texts and files in server Use server to relay files and texts between two web clients
5 web-support audio and video communication among many peers support audio and video communication among many web clients at the same time, only for the one peer to N peers mode, N can be the size of million
6 web-support audio and video communication among many peers, can set send and receive mode When setting receive mode, only receive audio and video, can not send. When setting send mode, only can send audio and video, can not receive.
7 When audio and video communicaion, it can be recorded by server When audio and video communicaion among many web clients, a certain web client's audio and video communication can be recorded by server
8 web-play audio and video files saved in server the recorded audio and video files in server can be played in web client pages
9 web-non function requirement Support IE, firefox, chrome browser
10 smart phone app-p2p audio communication When two app can go through each other, use p2s audio communication
11 smart phone app-support test communiction speed When communicating between apps, the video quality can be adaptively enhanced or reduced by network bandwidth. Can detect network types of 2g,3g,4g, and wifi automatically
12 smart phone app-p2p video communication When two app can go through each other, use p2s video communication
13 smart phone app-audio and video relay in server When two smart phone app can not use p2p communication, use sever to relay the audio and video communication
14 smart phone app-non function requirement Support android smart phone and pad, support ios smart phone and pad, support windows smart phone and pad
15 server-non function requirement Program language in server can be Java/nodejs/erlang, you'd better not c and c++ for it's hard to find issues.
16 audio and video communication among webs and apps Audio and video communication at the same time among webs and apps, can support million size of peers