- FE: Angular, SocketIO
- BE: Nodejs, WebSocket
- Network: SocketIO in client, WebSocket in Server, and WebRTC for call video
- Database: NoSQL in Firebase (Firestore)
- Send messages includes: text, image(s), file(s) (size <= 25MB), audio, icon
- Send friend requests, accept request
- Receive notifications
- Edit, and delete messages
- Create docs in a room chat that members can edit them.
- Call video, share screen