nawawishkid / exp-realtime-chat

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Experimenting with a real-time chat application

SRS resources:

1. Introduction

1.1 Purpose of the Document

1.2 Scope of the Product

1.2.1. In-Scope

1.2.2. Out-of-Scope

1.3 Definitions, Acronyms, and Abbreviations

1.3.1. User: An individual who has registered and uses this chat application
1.3.2. Username: A unique identifier chosen by a user for their profile
1.3.3. Sender: A user who sends messages in a conversation
1.3.4. Recipient: A user who receives messages in a conversation
1.3.5. Conversation: The ongoing exchange of messages between two or more users within the chat application

1.4 References

1.5 Overview of the Document

2. Overall Description

2.1 Product Perspective

2.2 Product Functions

Provide an overview of the major features and functionalities of the software. This section sets the stage for more detailed requirements later in the document.

2.3 User Classes and Characteristics

Define the different user groups and their characteristics, including their roles and responsibilities.

2.4 Operating Environment

Specify the hardware, software, and network environments in which the software will operate.

2.5 Design and Implementation Constraints

Describe any constraints that may impact the design or implementation of the software, such as technology choices, regulatory requirements, or third-party dependencies.

2.6 User Documentation

2.7 Assumptions and Dependencies

3. Specific Requirements

3.1. Functional Requirements

Here I use the MoSCoW prioritization method

3.1.1. User Discovery

3.1.1.1. [must-have] Users can view a list of other users so that they can initiate a conversation with them
3.1.1.2. [must-have] Users can find others by searching for usernames

3.1.2. Conversation

3.1.2.1. [must-have] Users can initiate a 1-on-1 conversation by choosing another user from the user list or user search result, and then send a message
3.1.2.2. [must-have] Users can view a list of conversation, sorted by most recent activity
3.1.2.3. [must-have] Conversation's participants can send/receive messages in the conversation in real-time
3.1.2.4. [must-have] Sender can see their messages as being read by the recipient

3.1.3. Searching

3.1.3.1. [must-have] Users can search for others and the system displays matching results
3.1.3.2. [must-have] Users can search for messages from conversations and the system displays matching results

3.2. Non-functional Requirements

3.2.1. Technological Requirements

3.2.2. Performance Requirements

3.2.3. Legal Requirements

3.2.4. Operational Requirements

3.2.5. Quality Requirements

3.2.6. Resource Requirements

3.2.7. Security Requirements

3.3. External Interface Requirements

3.4. User Interface Requirements

3.5. Quality Assurance and Testing Requirements

3.6. Constraints

2. Data Models

Appendices

About


Languages

Language:HTML 81.8%Language:TypeScript 15.3%Language:JavaScript 2.6%Language:CSS 0.3%