jr dev
jr dev
1. Introduction
Purpose: This document outlines the functional and non-functional requirements for a WhatsApp-like
website that allows users to send and receive text messages, multimedia messages, make voice/video
calls, and interact with other users in real time.
Scope: The website allows users to create accounts, message other users, share media (text, images,
videos, documents), and participate in group chats. It also supports voice and video calling.
2. Overall Description
Product Perspective: The website is a web-based application mimicking WhatsApp's core features,
providing real-time messaging, media sharing, and communication tools.
End Users: People who create accounts, send messages, share multimedia, make voice and video calls,
and manage contacts.
Admin: Users who manage the platform's integrity, monitor suspicious activity, and handle user support.
3. System Features
Description: Users need to log in and authenticate their identity before accessing the website.
Functional Requirements:
Users can sign up using their mobile number and receive an OTP (One Time Password) for verification.
Non-Functional Requirements:
Ensure encryption of sensitive data such as phone numbers and authentication tokens.
3.2 Messaging
Description: Users should be able to send and receive text messages, media files, and voice notes in real
time.
Functional Requirements:
Users can send and receive real-time text messages to/from individual users and groups.
Users can send media, including images, videos, audio clips, and documents.
Messages should support features like sending emojis, stickers, and GIFs.
Messages should show timestamps and read receipt indicators (e.g., delivered, read).
Non-Functional Requirements:
Description: Users should be able to make and receive voice and video calls with other users.
Functional Requirements:
Users can mute/unmute and switch between front and back camera during video calls.
Users should have the option to switch to a voice call during a video call.
Non-Functional Requirements:
The system should automatically adjust call quality based on network conditions.
Description: Users should be able to create and participate in group chats with multiple users.
Functional Requirements:
Group admins can control who can send messages or change the group settings.
Users can send text messages, media, and documents in the group.
Users should be able to name the group, set a group icon, and update group details.
Non-Functional Requirements:
3.5 Notifications
Description: Users should receive notifications for new messages, calls, and events.
Functional Requirements:
Users should receive push notifications for incoming messages, even if the web app is not open.
Users can turn off or customize notification preferences (e.g., mute a chat).
Non-Functional Requirements:
Users should receive notifications even if they are not on the website.
Description: Users should be able to manage their contacts and chat with users who have shared their
contact information.
Functional Requirements:
The system should sync contacts automatically from the user's phone.
Non-Functional Requirements:
Description: Users can share and store media like images, videos, and documents.
Functional Requirements:
The website should compress images and videos for faster loading.
Non-Functional Requirements:
Description: All communication and user data should be encrypted to ensure privacy and security.
Functional Requirements:
User data (phone number, messages, media) should be stored securely and comply with data privacy
laws.
Non-Functional Requirements:
The system should comply with relevant data privacy laws (e.g., GDPR).
Description: Users should be able to manage their profiles and customize their settings.
Functional Requirements:
Non-Functional Requirements:
The website should have a clean, modern, and intuitive design that mimics WhatsApp’s simplicity.
The website should be fully responsive and functional across desktop, tablet, and mobile browsers.
It will interface with users' webcams, microphones, and other hardware during voice and video calls.
The website should use WebRTC or similar technologies for voice and video calling.
5. System Attributes
5.1 Performance
The website should support high concurrency and fast message delivery.
5.2 Security
All user communications (text messages, calls, media) should be end-to-end encrypted.
5.3 Scalability
5.4 Availability
The system should ensure 99.9% uptime, with a disaster recovery plan in place.
5.5 Usability
New users should be able to sign up and start chatting in just a few minutes.
5.6 Compliance
The platform must comply with data privacy regulations (e.g., GDPR, CCPA).
6.1 Localization
The system must perform regular backups of user data and media.
A disaster recovery plan should be in place to handle server failures or data loss.