SASA CHAT — Software Requirements Specification (SRS)
Table of Contents
- 1 Document Information
- 2 Project Overview
- 3 User Requirements
- 4 Detailed Feature Requirements
- 5 Technical Requirements
- 6 External Dependencies
- 7 Release Planning
- 8 Risks Assumptions
- 9 Market Specific Considerations
- 10 Sign Off
- 11 Additional Context
1 Document Information
| Field | Value |
|---|---|
| Project Name | SASA CHAT |
| Version | 0.1 |
| Date | 2025-08-18 |
| Project Manager | TBD |
| Tech Lead | TBD |
| Qa Lead | Tester |
| Platforms | ['Android', 'iOS'] |
| Document Status | Draft |
2 Project Overview
2.1 What Are We Building
2.1.1 System Function
A real-time messaging application for users to communicate with agents and each other through one-on-one chats, groups, and communities.
2.1.2 Users
- User / Customer
- Sasa Chat Agent
2.1.3 Problem Solved
The application is intended to facilitate communication but is critically unstable, with a 44% pass rate. It fails to perform essential functions like multimedia sharing, voice notes, calls, and user blocking. Platform-specific issues, such as app crashes on iOS when handling files, make it unreliable for its core purpose.
2.1.4 Key Success Metric
Increase the Overall System Quality Pass Rate from 44% to over 95% by fixing all major and critical defects.
2.2 Scope
2.2.1 In Scope
- Real-time text messaging
- Multimedia sharing (images, videos, files)
- Use of special characters and emojis
- Hyperlinks & URL previews
- Message Status & Receipts (sent, delivered, read)
- Offline messaging
- User and Agent profile management
- Blocking/Unblocking users
- Group and Community chats
- Voice and Video Calls (individual and group)
2.2.2 Out Of Scope
- Sharing user location
- A dedicated Help and Support section
- Linking multiple devices to one account
- Custom wallpaper editing
- Deleting read messages
3 User Requirements
3.1 Authentication User Management
| Feature Code | I Want To | So That I Can | Priority | Notes |
|---|---|---|---|---|
| FT-BLOCK-USER | Block a user | Prevent them from sending me inappropriate messages. | Must | CRITICAL FAILURE: The agent is unable to block a user. |
3.2 Core Business Features
| Feature Code | I Want To | So That I Can | Priority | Notes |
|---|---|---|---|---|
| FT-COMMS-CALL | Make individual and group video calls | Communicate face-to-face with other users. | Must | CRITICAL FAILURE: Group video calls do not work; participants cannot be seen (Bug ID 006). The app also lacks camera and microphone settings to enable calls (Bug ID 009). |
| FT-COMMS-VOICE | Send a voice note | Quickly send an audio message instead of typing. | Must | CRITICAL FAILURE: Users are unable to send voice notes (Bug ID 008). |
| FT-MEDIA-SHARE | Send and receive multimedia files (images, PDFs, videos) on all devices | Share rich content without the app crashing. | Must | CRITICAL FAILURE on iOS: iPhone users cannot view files; the app crashes automatically. Videos are incorrectly appearing as files. |
| FT-MSG-STATUS | See message statuses | Confirm if my message was sent, delivered, and read. | Must | CRITICAL FAILURE: The user's side of the chat does not show 'sent,' 'delivered,' and 'read' statuses. |
| FT-MSG-SPECIAL | Send messages with emojis and special characters | Express myself fully. | Must | FAILED: The system cannot send messages that contain emojis. |
| FT-AGENT-COLLAB | See which agent is currently typing or last responded | Collaborate with other agents without sending duplicate responses. | Should | FAILED: This indicator is not shown in multi-agent chats. |
3.3 Additional Features
| Feature Code | I Want To | So That I Can | Priority | Notes |
|---|---|---|---|---|
| FT-GROUP-JOIN | Join a public group | Participate in the community discussion. | Should | Major Failure: There is no option to join a public group (Bug ID 017). |
| FT-UI-LEGAL | View the Terms of Use | Understand the rules of the service. | Should | Major Failure: The Terms of Use page shows a 404 error (Bug ID 003). |
| FT-UI-STABILITY | Use the app without it disappearing or losing data | Have a reliable communication experience. | Must | Major Failure: Created communities disappear over time (Bug ID 014). |
4 Detailed Feature Requirements
4.1 Ft Media Share
4.1.1 Priority
Must Have
4.1.2 User Story
As an iPhone user, I want to receive and open files (like images, PDFs, videos) without the application crashing.
4.1.3 Preconditions
A user sends a multimedia file to an iPhone user.
4.1.4 Postconditions
The iPhone user can see and open the file. The app remains stable. Videos are rendered as playable videos, not generic files.
4.1.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| MEDIA-TC-001 | Verify that sending an image, PDF, and video to an iPhone user is successful and does not cause a crash. | High |
4.2 Ft Comms Call
4.2.1 Priority
Must Have
4.2.2 User Story
As a user, I want to access camera and microphone settings within the app so that I can grant permissions and make calls.
4.2.3 Preconditions
User attempts to initiate a voice or video call.
4.2.4 Postconditions
The user is prompted to grant camera/microphone permissions, or can access these settings, and can successfully start a call.
4.2.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| CALL-TC-001 | Verify that camera and microphone settings are available and functional to allow calls. | High |
| CALL-TC-002 | Verify that in a group video call, all participants are visible to each other. | High |
4.3 Ft Msg Status
4.3.1 Priority
Must Have
4.3.2 User Story
As a user, I want to see visual indicators next to my sent messages to know if they have been sent, delivered to the recipient, and read by them.
4.3.3 Preconditions
User has sent a message.
4.3.4 Postconditions
The message displays a 'sent' status immediately, a 'delivered' status when it reaches the recipient's device, and a 'read' status when they open the chat.
4.3.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| MSG-TC-001 | Verify that 'sent,' 'delivered,' and 'read' statuses are displayed correctly and in a timely manner. | High |
5 Technical Requirements
5.1 Performance Standards
| Requirement | Target | How To Test |
|---|---|---|
| Image load time | < 2 seconds for preview | Measure time from message receipt to image thumbnail display. Addresses Bug ID 005. |
| App Stability on iOS | Zero crashes during file handling operations. | Repeatedly send and open various file types on test iPhone devices. |
5.2 Platform Requirements
| Platform | Minimum Version | Target Version | Notes |
|---|---|---|---|
| Android | Android 11 (API 30) | API 34 | Testing was performed on pixel4a. |
| iOS | iOS 14 | iOS 17 | Testing was performed on iPhone 11 and iPhone 11 Pro Max. |
5.3 Security Privacy
| Requirement | Must Have | Implementation |
|---|---|---|
| User data encryption | True | End-to-end encryption for all messages and calls. |
6 External Dependencies
6.1 Third Party Services
| Service | What It Does | Criticality | Backup Plan |
|---|---|---|---|
| Push Notification Service (FCM/APNS) | Delivers notifications for new messages and missed calls. | Critical | Ensure robust implementation and error handling for token registration and message delivery. |
| Cloud Storage Provider | Stores all multimedia files (images, videos, documents). | Critical | Use a provider with high availability and data redundancy, like AWS S3 or Google Cloud Storage. |
7 Release Planning
7.1 Development Phases
| Phase | Features Included | Timeline | Success Criteria |
|---|---|---|---|
| Phase 1 (Core Functionality Restoration) | ['FT-MEDIA-SHARE (iOS crash fix)', 'FT-COMMS-CALL (implement settings, fix group calls)', 'FT-COMMS-VOICE (fix sending)', 'FT-MSG-STATUS (implement UI)', 'FT-MSG-SPECIAL (fix emojis)', 'FT-BLOCK-USER (implement logic)'] | 6 weeks | All 'Must' priority features are functional. All major bugs (001-010, 013, 014, 017) are resolved. Pass rate > 90%. |
7.2 Release Checklist
- All Must-Haves complete
- No critical or major bugs remain
- iOS app no longer crashes when handling files
- Voice notes and video calls are fully functional on all test devices
- Message status indicators are working correctly
8 Risks Assumptions
8.1 Risks
| Risk | Probability | Impact | Mitigation |
|---|---|---|---|
| The platform instability, especially on iOS, is systemic and requires a major architectural refactor, delaying fixes. | Medium | High | Conduct a root cause analysis of the iOS crash immediately. Allocate senior iOS developers to investigate and fix. |
| Failure to deliver basic communication features (voice notes, calls, read receipts) will cause users to abandon the app for more mature competitors. | High | High | Strictly prioritize the development backlog according to Phase 1 of the release plan. |
8.2 Assumptions
- The backend infrastructure for messaging, calls, and user management is in place, but the client-side implementation is flawed.
- The user base expects feature parity with other modern messaging applications.
9 Market Specific Considerations
9.1 Primary Market
- General Communication
9.2 Target Demographics
- Users seeking a real-time chat solution
9.3 Competition
- WhatsApp, Telegram, Signal, Messenger
10 Sign Off
10.1 Approval
| Role | Name | Signature | Date |
|---|---|---|---|
10.2 Document History
| Version | Date | Changes Made | Changed By |
|---|---|---|---|
| 0.1 | 2025-08-18 | Initial draft based on 'SASA CHAT' testing report. | Gemini System Designer |
11 Additional Context
11.1 Success Metrics
11.1.1 Customer Acquisition
Reduce user churn rate by 50% after Phase 1 release.
11.1.2 Partner Signups
N/A
11.1.3 Daily Orders
N/A
11.1.4 Customer Satisfaction
Achieve a >95% pass rate in the next regression testing cycle.
11.1.5 Order Success Rate
N/A
11.1.6 Average Delivery Time
N/A