akshayvijaynair / poredocs

https://akshayvijaynair.github.io/poredocs/
1 stars 1 forks source link

Software Requirements Specification #5

Closed akshayvijaynair closed 11 months ago

sossboyj commented 11 months ago

Define product's purpose
Describe what you are building Detail the requirements Deliver it for approval

sossboyj commented 11 months ago

Purpose and Scope of The Proudct

Pore is a health technology and tracking application for skincare with an integrated marketplace medium for the users. The application will revoutionalise buying skin cosmetic products tailored for the intended user through product recommendation and personalised routines. The application will have certain face scanning APIs to generated custom product recommendations and routines with suggested products. Finally, the application will enable contact to a global network of skin consultants to get a finer analysis on more serious skincare needs if necessary.

sossboyj commented 11 months ago

Functional Requirements

Onboarding

  1. The application should allow the users to sign in with credentials
  2. The app should allow the users to sign up
  3. The app should send a OTP to registering users and users logging in
  4. The user should be able to add phone/email details for recovery purposes
  5. The app should ask for the password twice for verification
  6. The app should indicate password and username requirements

Home

  1. User should be able to access the five main features from the nav bar (Home, Vitals, User Profile, Marketplace and Consultant page)
  2. User should be able to access meetings with consultants through the home page
  3. User should be able to see upcoming meetings with consultants
  4. App should visualise, in list format, the active routine 4.1 User should be able to click on active routine to see illustrations of each step
  5. User sould be able to see featured products (marketplace shortcut)
  6. App should be able to identify previously looked at products as "continue shopping for" 6.1 User should be allowed to click on suggested products to travel to marketplace to place order of clicked product
  7. User should be able to access "settings" and see "notifications" from the home page

User profile

  1. User should be able to modify the profile
  2. App should allow for editing their photo, email, bio, and gender
  3. User should be able to travel back to home using a back button
  4. App should provide a "remote" on their profile to enable travel to Survey, Progress Timeline, Account Settings, Upload (progress timeline), Wallet, Wishlist, Order History, Contact and Support and Log out.

UP - Wallet

  1. User should be able to add and remove payment methods
  2. User should be able to access their transactions
  3. User should be able to navigate to settings from this page
  4. App should allow user to go back to profile from wallet

UP - Wishlist

  1. User should be able to add products into their wishlist
  2. User should be able to add products to cart from wishlist
  3. App should show the price of products in the wishlist
  4. App should order the products in which they were added by the user
  5. App should allow user to navigate back to the profile with a back button

UP- Order History.

  1. User should be able to see all products ordered
  2. Price of the products should be visible
  3. App should inform user when item was ordered e.g., 5 days ago, 1 month ago etc.
  4. User should be able to buy again from this page 4.1 App should allow to add product into cart 4.2 App should allow user to continue to checkout with selected product (removing steps to make navigation and buying seamless for the customers)

Contact us

  1. App should allow user to send message to admin team regarding any matter of concern of the user
  2. User should be able to add name
  3. User should be able to add email
  4. User should be able to add a message of upto 500 characters
  5. User should be able to send their concern to admin
  6. User should see a confirmation message of recieved contact

Survey

  1. App should inform the user that to recieve product recommendations and routine recommendations they need to fill in the survey
  2. App should allow for editing by user whenever they feel
  3. App should save their answers and make it visible to the user (so they can see how they answered the survey in previous times)
  4. App should allow user to enter name, email and a message regarding their skin goals \
  5. User should be able to check boxes in the survey
  6. User should be able to input text in required input fields
  7. App should highlight missing fields for guiding the user to successfully completing the survey
  8. User should see confirmation page of successfully submitted survey

Vitals - Home page

  1. App should allow user to access their progress timeline
  2. App should allow user to scan their face 2.1 App should show page to user that analysis is underway 2.2 App should show confirmation of analysis
  3. App should show active routine steps 3.1 User should be able to click and check off the steps as they are completed
  4. User should be able to see their diagnosis log 4.1 User should see a percentage metric of their progress to achieving their skin goals 4.2 App should highlight key changes that have occured to users skin health and progress 4.3. App should be able to provide product suggestions e.g., vitamin c serum 4.4 App should be able to provide reasoning for suggestions

Vitals - Progress Timeline

  1. App should show welcome message to user with an explaination of what the progress timeline is and how the user can leverage it to their benefit
  2. App should be able to store users photos from the past 9 months
  3. App should allow transistion between images (before and after) 3.1 App should be able to highlight key changes between before and after pictures where applicable
  4. User should be able to upload new pictures bi-weekly (can be changed)
  5. User should be able to download a report about their skin progress and diagnosis

Vitals - Active Routine

  1. App should provide guiding illustrations of the steps in users routine e.g., cleansing their face in certain motions
  2. App should provide clear description of how to complete active routine steps
  3. User should be able to scroll down the app to see all their steps
  4. User should be able to check off their steps as they complete them
  5. User should be able to navigate back to the home page using back button

Vitals - Diagnosis

  1. App should highlight areas of improvement for users skin
  2. App should be able to recommend a routine to achieve skin progress
  3. App should be able to recommend products for that routine 3.1 App should allow purchase of that product through this page 3.2 App should allow user to add products in their cart 3.3 App should allow user to add products into their wishlist

Marketplace

  1. App should provide filtering options
  2. App should allow for searching for products based on name, type of product, elements in a product e.g., retinol serum etc
  3. App should display featured products, products with deals, recommend products and popular brands
  4. User should be able to scroll horizontally through products displayed on this page
  5. User should be able to add to cart, wishlist or jump to checkout via this page

Marketplace - Search

  1. App should show featured products
  2. App should show in list format vertical all products that match the search input
  3. User should be able to see all products by clicking previous or next page (no scrolling)
  4. User should be able to add to cart, wishlist or jump to checkout via this page

Marketplace - Product Details

  1. User should be able to see product images
  2. User should be able to product information (name, match with diagnosis, and benefits it can provide)
  3. User should be able to see detailed product information provided by the brand
  4. App should allow user to choose quantity
  5. User should be able to add to cart, wishlist or jump to checkout via this page
  6. App should show user what their selected product can work well with 6.1 User should be able to select the recommended product to cart 6.2 User should be able to adjust quantity of both products (selected and what it can work well with) 6.3 App should show user the total of buying the additional product to the user
  7. App should provide a list of other products the user might be interested based on the information user provided in survey and through the skin analysis data

Marketplace - Cart

  1. User should be able to see all products in their cart
  2. User should be able to see the price of each product in cart
  3. User should be able to add and remove products in their cart
  4. User should be able to click order to jump to checkout
  5. App should give a subtotal to the user

Marketplace - Order Details

  1. User should be able to purchase item via clicking order button
  2. User should be able to see a breakdown of the total (item, shipping, tax and order total)
  3. User should be able to modify shipping address
  4. User should be able to see what payment method is attached 4.1 User should be able to edit their payment method
  5. User should see a confirmation of their order
  6. App should generate order number
  7. App should send receipt of order to preferred medium by user

Marketplace - Billing Address

  1. User should be able to add and remove billing information according to their payment methods and cards stored in their wallet

Consultant

  1. App should allow user to add location to facilitate search of consultants
  2. User should be able to see consultant name and occupation
  3. User should be able to book a meeting with selected consultant
  4. App should generate consultants near the user if their location services are on
  5. User should be able to see upcoming meetings and recently spoken with consultants

Consultant - Search

  1. App should have filtering options of consultant based on different metrics, e.g. level of consultant, type of treatment, availability, and near you
  2. User should be able to go through the pages of the consultant with previous and next buttons (no scrolling)
  3. User should be able to book consultant through this page

Consultant - Profile

  1. User should be able to see information of the selected consultant 1.1 Consultant name, occupation, address of practice, experience and how much of a match they are to their skin goals
  2. App should provide information of the consultants working hours (M-W 12:30 - 17:00)
  3. User should be able to see details of consultants experience e.g., education, residency, fellowship and work experience
  4. User should be able to see the consultants bio
  5. User should be able to book selected consultant

Consultant - Booking

  1. User should see key information about consultant (name, speciliaty, address, experience, and match)
  2. User should be able to see the working hours of consultant
  3. User should be able to see booking calendar 3.1 App should show the availablity of the consultant on the calendar
  4. User should be able to select the duration of the meeting with consultant 4.1 App should adjust the price of the meeting based on duration
  5. User should be able to type message during booking to inform consultant purpose of the meeting
  6. App should show price of the meeting
  7. App should be able to press continue to move to order details

Consultant - Order Details

  1. User should be able to add and edit billing information
  2. User should be able to add and edit payment method
  3. User should be able to see total price of meeting
  4. User should be able to complete booking if everything is verified
  5. App should show page to user of the booking being in process and being successful
sossboyj commented 11 months ago

Non- Functional Requirements

  1. The system needs to be able to defend against hackers trying to gain access to sensitive data.
  2. The system should not require advanced tutorials and should follow a simple step-by-step process that should take less than 8 minutes to start an account and get skincare recommendations.
  3. The system should be able to display products to the user within 3 seconds as long as they are on an LTE connection or better.
  4. The system must be scalable enough to support 100,000 users accessing the app simultaneously.
  5. The system should be compatible with all iOS versions still supported.
  6. The system should provide a way to review and report consultants.
sossboyj commented 11 months ago

@akshayvijaynair please review and approve