Skip to main content

Sasa Shop — Software Requirements Specification (SRS)

Table of Contents

1 Document Information

FieldValue
Project NameSasa Shop
Version0.2
Date2025-09-10
Project ManagerTBD
Tech LeadTBD
Qa LeadTester
Platforms['Android', 'iOS']
Document StatusDraft

2 Project Overview

2.1 What Are We Building

2.1.1 System Function

An e-commerce mobile application for users to browse products, manage a shopping cart, and complete purchases.

2.1.2 Users

  • Customer / Shopper

2.1.3 Problem Solved

The application aims to provide a stable e-commerce experience but currently suffers from critical failures in core user journeys, including user registration and order checkout. It also has significant UI/UX issues with notifications, language settings, and dark mode that degrade user trust and usability.

2.1.4 Key Success Metric

Increase the Overall Test Pass Percentage from 83.33% to over 98% by fixing all major and critical defects.

2.2 Scope

2.2.1 In Scope

  • User Authentication (Login, Logout, Registration)
  • Dark Mode functionality
  • Push Notifications
  • Displaying time accurately within the app
  • Terms of Use and Privacy Policy review
  • Language settings
  • Viewing Orders
  • Shopping Cart Management (Add, Update, Remove items)
  • Product Catalog and Search
  • Checkout Process

2.2.2 Out Of Scope

  • In-app calls to sellers
  • Price bargaining / 'Make an offer' feature
  • Expanded product details (color, brand name)
  • Direct customer feedback forms
  • FAQ section
  • Video guides for buying and selling

3 User Requirements

3.1 Authentication User Management

Feature CodeI Want ToSo That I CanPriorityNotes
FT-AUTH-REGRegister for a new account with my phone number and OTP or with my email and passwordCreate a personal account to manage my orders and start shopping.MustUpon successful registration, the user must be automatically logged in and directed to the home page. This is a top priority to enable new user onboarding.
FT-AUTH-LOGINLog in with my valid credentialsAccess my personal profile, order history, and saved information.MustSupports both phone/OTP and email/password login methods, consistent with registration.
FT-AUTH-LOGOUTLog out of my accountSecurely end my session on a shared or public device.Must

3.2 Core Business Features

Feature CodeI Want ToSo That I CanPriorityNotes
FT-PROD-LISTView product listsDiscover and explore the range of items available for sale.MustIncludes basic search and category browsing capabilities.
FT-PROD-VIEWView product detailsMake an informed purchase decision by reviewing key information like price, description, and images.MustExpanded product details like brand name or specific color options are out of scope for this version.
FT-PROD-CARTAdd or remove a product from the cartEasily save an item for purchase without leaving my current browsing flow.MustThis refers to the 'Add to Cart' functionality on product list and detail pages.
FT-SHOP-LISTView shops listsBrowse all available shops to find ones that interest me.Must
FT-SHOP-VIEWView shop detailsSee all products offered by a specific shop and learn more about them.MustTo ensure a good user experience, this page must meet the performance standard of loading in under 2 seconds (addresses Bug ID 0.1).
FT-CART-MANAGEAdd, update, and remove items in my shopping cartFinalize my selection, adjust quantities, or remove unwanted items before proceeding to checkout.MustFunctionality is operational. Users can modify item quantities and remove items directly from the cart view.
FT-CART-CHECKOUTComplete a purchase after providing my detailsFinalize my purchase and receive confirmation that my order has been accepted.MustThe checkout flow must allow users to select delivery or pickup and successfully place an order. Payment processing is out-of-scope and handled externally (e.g., Cash on Delivery).
FT-ORDER-NOTFReceive notifications about my ordersTrack the progress of my purchase from confirmation to delivery.MustThis requirement covers both push notifications (see FT-APP-NOTIFY) and in-app status updates for orders.
FT-ORDER-VIEWView my order details for specific itemsReview the specifics of my past and current purchases, including items, prices, and delivery status.MustOrders in the history list must be grouped by the shop they were purchased from for clarity. All information must be fully legible in both light and dark modes.
FT-ORDER-LISTView my past ordersReview and manage my order history.MustThis feature allows users to see a list of all their previous orders, with the ability to sort and filter by date, shop, and order status.

3.3 Additional Features

Feature CodeI Want ToSo That I CanPriorityNotes
FT-UI-LANGUAGEAccess language settingsUse the application in a language I am comfortable with.ShouldA language selection option must be made available within the user's profile, allowing them to switch the app's display language (addresses Bug IDs 0.4, 10.1).
FT-UI-DARKMODEUse the app in dark modeReduce eye strain in low-light environments and have a visually consistent experience.ShouldDark mode must ensure all text and information are clearly visible across all screens, especially 'Orders'. This resolves multiple legibility bugs (IDs 0.6, 0.7, 0.9).
FT-LEGAL-VIEWRead the Terms of Use and Privacy PolicyUnderstand the app's rules and how my data is handled.ShouldThe content for 'Terms of Use' and 'Privacy Policy' must be distinct and legally appropriate. This requires updating the duplicated placeholder text (addresses Bug ID 0.5).
FT-APP-NOTIFYReceive push notifications for order updates and important app communicationsStay informed about my orders and app updates even when I'm not actively using the app.ShouldPush notifications must work reliably and include order status changes, promotional offers, and important system notifications. Users must be able to control notification preferences.

4 Detailed Feature Requirements

4.1 Ft Auth Reg

4.1.1 Priority

Must Have

4.1.2 User Story

As a new user, I want to complete the registration process after receiving an OTP so that I am automatically logged in and can start shopping.

4.1.3 Preconditions

The user does not have an existing account and is on the registration page.

4.1.4 Postconditions

The user account is created, the user is logged in, and the app redirects to the home page.

4.1.5 Test Cases

IdDescriptionWeight
AUTH-TC-001Verify that after filling in details and receiving an OTP, the registration completes and redirects to the home page.High
AUTH-TC-002Verify that the user is automatically logged in after registration and redirected to the home page.High
AUTH-TC-003Verify that invalid phone number formats prevent registration.High
AUTH-TC-004Verify that OTP expires after a specified time and registration fails if the OTP is not entered in time.Medium

4.2 Ft Cart Checkout

4.2.1 Priority

Must Have

4.2.2 User Story

As a user, I want to successfully place an order by completing the checkout process so that my purchase is confirmed and recorded.

4.2.3 Preconditions

The user is on the checkout page with items in the cart and has entered valid shipping/payment details.

4.2.4 Postconditions

An order confirmation is displayed, and the new order appears correctly in the user's order history.

4.2.5 Test Cases

IdDescriptionWeight
CHK-TC-001Verify that after tapping 'Place Order', the purchase is completed and a confirmation is shown.High
CHK-TC-002Verify that invalid payment details prevent order completion and display an error message.High
CHK-TC-003Verify that the user is prompted to add items to the cart if the cart is empty during checkout.Medium
CHK-TC-004Verify that order details (items, prices, shipping) are correctly displayed in the order confirmation page.High

4.3 Ft Ui Darkmode

4.3.1 Priority

Should Have

4.3.2 User Story

As a user, I want to enable dark mode so that I can have a comfortable viewing experience in low-light conditions and see all text clearly.

4.3.3 Preconditions

The user is in the app's settings menu and has toggled the dark mode option.

4.3.4 Postconditions

The entire app UI switches to a dark theme, with all text and UI elements remaining legible and correctly displayed, especially in the orders and wishlist sections.

4.3.5 Test Cases

IdDescriptionWeight
UI-TC-001Verify that all text in the orders list is clearly visible and information is displayed correctly when dark mode is enabled.Medium
UI-TC-002Verify that UI elements (buttons, icons) are consistent and legible in dark mode.Medium
UI-TC-003Verify that the dark mode setting persists when the app is closed and reopened.Low

4.4 Ft Ui Language

4.4.1 Priority

Should Have

4.4.2 User Story

As a user, I want to change the application's language from the settings menu so that I can use the app in my preferred language.

4.4.3 Preconditions

The user has navigated to the user profile/settings section.

4.4.4 Postconditions

The language setting is visible, selectable, and upon selection, the entire app's UI text updates to the chosen language.

4.4.5 Test Cases

IdDescriptionWeight
LANG-TC-001Verify that the language setting option appears in the user profile and allows the user to switch the app's language.Medium
LANG-TC-002Verify that the selected language persists across app sessions.Medium
LANG-TC-003Verify that all UI elements properly display text in the selected language without truncation or overlap.High

4.5 Ft Order List

4.5.1 Priority

Must Have

4.5.2 User Story

As a user, I want to view my past orders so that I can review and manage my order history.

4.5.3 Preconditions

The user is logged into their account and has placed previous orders.

4.5.4 Postconditions

The user sees a list of all their previous orders, which can be sorted and filtered by date, shop, and order status.

4.5.5 Test Cases

IdDescriptionWeight
ORD-TC-001Verify that the user can see a list of all previous orders, including order number, date, shop, and status.High
ORD-TC-002Verify that the user can filter past orders by date, shop, and order status.Medium
ORD-TC-003Verify that order information is clearly visible in both light and dark modes.High

4.6 Ft App Notify

4.6.1 Priority

Should Have

4.6.2 User Story

As a user, I want to receive push notifications for order updates and important app communications so that I stay informed about my purchases and app updates.

4.6.3 Preconditions

The user has granted notification permissions and has active orders or has opted into promotional notifications.

4.6.4 Postconditions

The user receives timely and relevant push notifications that can be clicked to navigate to the appropriate app section.

4.6.5 Test Cases

IdDescriptionWeight
NOTF-TC-001Verify that users receive push notifications when their order status changes.High
NOTF-TC-002Verify that notification settings can be customized in the user profile.Medium
NOTF-TC-003Verify that tapping on a notification navigates to the relevant section of the app.Medium
NOTF-TC-004Verify that notifications work correctly when the app is in background or closed.High

4.7 Ft Prod List

4.7.1 Priority

Must Have

4.7.2 User Story

As a user, I want to view product lists so that I can discover and explore items available for sale.

4.7.3 Preconditions

The user is on the home page or has navigated to a product category.

4.7.4 Postconditions

A list of products is displayed with basic information (name, price, image) and search/filter options are available.

4.7.5 Test Cases

IdDescriptionWeight
PROD-TC-001Verify that product lists load within acceptable time limits and display correctly.High
PROD-TC-002Verify that search functionality returns relevant results.High
PROD-TC-003Verify that product images, names, and prices display correctly in both light and dark modes.Medium

4.8 Ft Shop View

4.8.1 Priority

Must Have

4.8.2 User Story

As a user, I want to view shop details so that I can see all products offered by a specific shop and learn more about them.

4.8.3 Preconditions

The user has selected a shop from the shop list or clicked on a shop link.

4.8.4 Postconditions

The shop details page loads showing shop information and available products within 2 seconds.

4.8.5 Test Cases

IdDescriptionWeight
SHOP-TC-001Verify that shop details page loads within 2 seconds on target devices.High
SHOP-TC-002Verify that all shop products are displayed correctly with proper navigation.High
SHOP-TC-003Verify that shop information (name, description, contact) is displayed correctly.Medium

4.9 Ft Auth Login

4.9.1 Priority

Must Have

4.9.2 User Story

As a returning user, I want to log in with my valid credentials so that I can access my personal profile, order history, and saved information.

4.9.3 Preconditions

The user has an existing account and is on the login page with valid credentials.

4.9.4 Postconditions

The user is successfully authenticated and redirected to the home page with access to their profile and order history.

4.9.5 Test Cases

IdDescriptionWeight
LOGIN-TC-001Verify successful login with valid email/password credentials.High
LOGIN-TC-002Verify successful login with valid phone/OTP credentials.High
LOGIN-TC-003Verify login fails with invalid credentials and shows appropriate error message.High
LOGIN-TC-004Verify user session persists across app restarts after successful login.Medium

4.10 Ft Auth Logout

4.10.1 Priority

Must Have

4.10.2 User Story

As a logged-in user, I want to log out of my account so that I can securely end my session on a shared or public device.

4.10.3 Preconditions

The user is logged into their account and can access the logout option.

4.10.4 Postconditions

The user session is terminated, and the user is redirected to the login/home page without access to personal information.

4.10.5 Test Cases

IdDescriptionWeight
LOGOUT-TC-001Verify successful logout terminates user session and redirects to appropriate page.High
LOGOUT-TC-002Verify logged-out user cannot access protected pages without re-authentication.High
LOGOUT-TC-003Verify logout option is accessible from user profile/settings menu.Medium

4.11 Ft Prod View

4.11.1 Priority

Must Have

4.11.2 User Story

As a user, I want to view product details so that I can make an informed purchase decision by reviewing key information like price, description, and images.

4.11.3 Preconditions

The user has selected a product from the product list or search results.

4.11.4 Postconditions

The product details page displays comprehensive product information including images, price, description, and add to cart functionality.

4.11.5 Test Cases

IdDescriptionWeight
PRODVIEW-TC-001Verify product details page displays all essential information (name, price, description, images).High
PRODVIEW-TC-002Verify product images can be viewed in full screen and are displayed correctly.Medium
PRODVIEW-TC-003Verify add to cart functionality is available and working from product details page.High
PRODVIEW-TC-004Verify product details display correctly in both light and dark modes.Medium

4.12 Ft Prod Cart

4.12.1 Priority

Must Have

4.12.2 User Story

As a user, I want to add or remove a product from the cart so that I can easily save an item for purchase without leaving my current browsing flow.

4.12.3 Preconditions

The user is viewing a product on the product list or product details page.

4.12.4 Postconditions

The product is successfully added to or removed from the shopping cart, and the cart count is updated accordingly.

4.12.5 Test Cases

IdDescriptionWeight
PRODCART-TC-001Verify products can be successfully added to cart from product list page.High
PRODCART-TC-002Verify products can be successfully added to cart from product details page.High
PRODCART-TC-003Verify products can be removed from cart and cart count updates correctly.High
PRODCART-TC-004Verify cart state persists across app sessions for logged-in users.Medium

4.13 Ft Shop List

4.13.1 Priority

Must Have

4.13.2 User Story

As a user, I want to view shops lists so that I can browse all available shops to find ones that interest me.

4.13.3 Preconditions

The user has navigated to the shops section of the application.

4.13.4 Postconditions

A list of available shops is displayed with basic information and navigation options to shop details.

4.13.5 Test Cases

IdDescriptionWeight
SHOPLIST-TC-001Verify shops list displays all available shops with basic information.High
SHOPLIST-TC-002Verify users can navigate to shop details from the shops list.High
SHOPLIST-TC-003Verify shops list loads within acceptable time limits and handles large datasets.Medium
SHOPLIST-TC-004Verify shops list display is consistent in both light and dark modes.Medium

4.14 Ft Cart Manage

4.14.1 Priority

Must Have

4.14.2 User Story

As a user, I want to add, update, and remove items in my shopping cart so that I can finalize my selection, adjust quantities, or remove unwanted items before proceeding to checkout.

4.14.3 Preconditions

The user has items in their shopping cart and has navigated to the cart page.

4.14.4 Postconditions

The user can successfully modify item quantities, remove items, and see updated totals before proceeding to checkout.

4.14.5 Test Cases

IdDescriptionWeight
CARTMGMT-TC-001Verify users can increase and decrease item quantities in the cart.High
CARTMGMT-TC-002Verify users can remove individual items from the cart.High
CARTMGMT-TC-003Verify cart totals update correctly when items are modified or removed.High
CARTMGMT-TC-004Verify users can proceed to checkout from the cart management page.High

4.15 Ft Order Notf

4.15.1 Priority

Must Have

4.15.2 User Story

As a user, I want to receive notifications about my orders so that I can track the progress of my purchase from confirmation to delivery.

4.15.3 Preconditions

The user has placed an order and has notification permissions enabled.

4.15.4 Postconditions

The user receives timely notifications about order status changes and can access detailed order information.

4.15.5 Test Cases

IdDescriptionWeight
ORDERNOTF-TC-001Verify users receive notifications when order status changes (confirmed, shipped, delivered).High
ORDERNOTF-TC-002Verify notification content includes relevant order information and status.High
ORDERNOTF-TC-003Verify tapping on order notification navigates to the correct order details.Medium
ORDERNOTF-TC-004Verify notifications work correctly when app is in background or closed.High

4.16 Ft Order View

4.16.1 Priority

Must Have

4.16.2 User Story

As a user, I want to view my order details for specific items so that I can review the specifics of my past and current purchases, including items, prices, and delivery status.

4.16.3 Preconditions

The user has placed orders and is accessing order details from the order history list.

4.16.4 Postconditions

Complete order information is displayed including items, prices, delivery status, and all information is legible in both light and dark modes.

4.16.5 Test Cases

IdDescriptionWeight
ORDERVIEW-TC-001Verify order details page displays complete order information (items, prices, status, dates).High
ORDERVIEW-TC-002Verify order information is fully legible in both light and dark modes.High
ORDERVIEW-TC-003Verify order status updates are reflected accurately in the order details view.High
ORDERVIEW-TC-004Verify users can access order actions (tracking, support) from order details page.Medium

4.17.1 Priority

Should Have

4.17.2 User Story

As a user, I want to read the Terms of Use and Privacy Policy so that I can understand the app's rules and how my data is handled.

4.17.3 Preconditions

The user has navigated to the legal documents section from the app settings or registration process.

4.17.4 Postconditions

The Terms of Use and Privacy Policy are displayed as separate, distinct documents with legally appropriate content.

4.17.5 Test Cases

IdDescriptionWeight
LEGAL-TC-001Verify Terms of Use and Privacy Policy are separate documents with distinct content.High
LEGAL-TC-002Verify legal documents are accessible from both settings and registration flows.Medium
LEGAL-TC-003Verify legal documents display correctly and are readable in both light and dark modes.Medium
LEGAL-TC-004Verify legal documents scroll properly and all content is accessible.Low

5 Technical Requirements

5.1 Performance Standards

RequirementTargetHow To Test
Shop details display time≤ 2sMeasure time from tap to render on target devices. Addresses Bug ID 0.1.
Product list loading time≤ 3sMeasure time from navigation to complete product list render on target devices.
App launch time≤ 4sMeasure cold start time from app icon tap to home screen display on target devices.

5.2 Platform Requirements

PlatformMinimum VersionTarget VersionNotes
AndroidAPI 29 (Android 10)API 34Testing was performed on an Infinix Note 10 Pro.
iOSiOS 14iOS 17Testing was performed on an iPhone 11 pro max.

5.3 Security Privacy

RequirementMust HaveImplementation
User data encryptionTrueAES-256 at rest; TLS 1.2+ in transit
Secure authenticationTrueOTP verification with time-based expiration; secure session management
Payment data securityTrueNo payment data stored locally; external payment processing only

6 External Dependencies

6.1 Third Party Services

ServiceWhat It DoesCriticalityBackup Plan
SMS Gateway ProviderSends OTP codes for user registration.CriticalEnsure the provider is reliable and has failover mechanisms. Implement in-app error message if OTP fails to send.
Push Notification ServiceDelivers push notifications for order updates and app communications.MediumGraceful degradation with in-app notifications only if push service fails.

6.2 Device Requirements

FeatureRequiredOptionalNotes
Internet ConnectivityTrueFalseRequired for browsing, checkout, and order tracking.
Sufficient StorageTrueFalseMinimum 100MB of free storage space for app installation and data caching.
Push Notification SupportFalseTrueEnhances user experience but app remains functional without it.

7 Release Planning

7.1 Development Phases

PhaseFeatures IncludedTimelineSuccess Criteria
Phase 1 (Critical Path Fixes)['FT-AUTH-REG (fix)', 'FT-CART-CHECKOUT (fix)', 'FT-ORDER-VIEW (fix)', 'FT-ORDER-LIST (implement)']3 weeksThe entire user journey from registration to purchase and order viewing is functional with no critical failures. Test pass rate > 95%.
Phase 2 (UI/UX and Feature Polish)['FT-APP-NOTIFY (fix)', 'FT-UI-LANGUAGE (implement)', 'FT-UI-DARKMODE (fix)', 'FT-LEGAL-VIEW (content update)', 'FT-PROD-LIST (optimize)', 'FT-SHOP-VIEW (performance fix)']4 weeksAll identified bugs are resolved. All features are fully functional and polished. Test pass rate > 99%.

7.2 Release Checklist

  • All Must-Haves complete
  • No critical bugs remaining
  • User Registration (AUTH-TC-001) passes
  • Complete Purchase (CHK-TC-001) passes
  • Performance baselines met
  • All test cases have pass rate > 98%
  • Legal documents reviewed and approved

8 Risks Assumptions

8.1 Risks

RiskProbabilityImpactMitigation
Failure to fix the registration and checkout flows will result in zero user acquisition and revenue.HighHighPrioritize Phase 1 development and testing above all other tasks.
Persistent UI issues (Dark Mode, Language) damage brand perception and user trust, leading to app uninstalls.MediumMediumAllocate dedicated QA resources to thoroughly test all UI states and themes during Phase 2.
Identical Terms of Use and Privacy Policy create legal and compliance risks.MediumHighEngage legal counsel to draft appropriate and distinct documents before the next public release.
Push notification service reliability issues affect user engagement.LowMediumImplement fallback to in-app notifications and monitor service uptime closely.

8.2 Assumptions

  • The target users are equipped with smartphones and have reliable internet connectivity.
  • The backend infrastructure for product management and order processing is stable.
  • SMS gateway service maintains >99% uptime for OTP delivery.
  • Users will grant necessary permissions for notifications and device features.

9 Market Specific Considerations

9.1 Primary Market

  • General E-commerce Users

9.2 Target Demographics

  • Online shoppers

9.3 Local Considerations

ConsiderationDetails
Currency DisplayThe app should display prices in the local currency of the user. Initial rollout will support a single currency, with plans for multi-currency support in future versions.
Language LocalizationSupport for multiple languages through the language settings feature, with proper text rendering and layout adjustments for different languages.

9.4 Payment Preferences

PreferenceValue
Mobile MoneyNot Supported (Future Scope)
CashSupported (Cash on Delivery/Pickup)
CardsNot Supported (Future Scope)

9.5 Competition

  • Other online retail and marketplace apps

10 Sign Off

10.1 Approval

RoleNameSignatureDate

10.2 Document History

VersionDateChanges MadeChanged By
0.12025-09-10Initial draft based on 'Sasa Shop' testing report. Revised user requirement notes for clarity.Gemini System Designer
0.22025-09-10Fixed structural issues: Added missing FT-APP-NOTIFY feature definition, corrected test case numbering, added detailed requirements for all core features, enhanced technical requirements, updated release planning consistency.Claude AI Assistant
0.32025-09-10Added comprehensive detailed feature requirements for ALL features: FT-AUTH-LOGIN, FT-AUTH-LOGOUT, FT-PROD-VIEW, FT-PROD-CART, FT-SHOP-LIST, FT-CART-MANAGE, FT-ORDER-NOTF, FT-ORDER-VIEW, and FT-LEGAL-VIEW. Now all user requirements have corresponding detailed specifications with test cases.Claude AI Assistant

11 Additional Context

11.1 Success Metrics

11.1.1 Customer Acquisition

Achieve a >95% successful registration rate.

11.1.2 Partner Signups

N/A

11.1.3 Daily Orders

Process 100+ successful orders daily post-fix.

11.1.4 Customer Satisfaction

Reduce negative app store reviews related to bugs by 80%.

11.1.5 Order Success Rate

Achieve a >99% successful checkout completion rate (reduce cart abandonment at final step).

11.1.6 Average Delivery Time

N/A

11.1.7 Notification Engagement

Achieve >70% notification open rate for order updates.

11.1.8 Ui Consistency Score

Achieve 100% UI element visibility across light and dark modes.