Skip to content

Requirements

burakberk edited this page Jan 31, 2021 · 66 revisions

GLOSSARY

  • User: A person who is using the platform.
  • Customer: A registered user who wants to buy and verified their e-mail.
  • Profile: An outline of user or customer's information. Holds personalized settings.
  • Vendor: A registered user who wants to sell and verified their e-mail.
  • Shopping Cart: List of products that user's intending to buy. Can proceed to checkout.
  • Guest: A user who is using the platform but has not signed in yet.
  • Admin: A registered user who can manage the platform.
  • Admin Panel: A tool that enables platform managers to control products/categories.
  • Product: Thing that is sold or bought.
  • List: A list that customers can add products that they want to buy.
  • Active Order: An order that is not delivered yet.
  • Inactive Order: An order that is either delivered or canceled.
  • Product Page: Individual page that is showcasing one special product.
  • Uptime: The percentage of time the platform has been working and available.
  • Order Tracking Number: A unique 9 digit number associated with an order.
  • Orders Page: A page where all the order history can be seen. Customers and vendors have an orders page.
  • Order Details Page: A page associated with one order, that contains Order Details.
  • Order Details: Order Tracking Number, products' names, products' pictures, products' prices, total price, cargo brand, customer/vendor name, status (being prepared, on the way, delivered, canceled by the customer, canceled by the vendor, returned), order date, delivery date if delivered.
  • Semantic Search: It denotes search with meaning, as distinguished from lexical search where the search engine looks for literal matches of the query words or variants of them, without understanding the overall meaning of the query.
  • Credential: An e-mail & password pair
  • Strong Password: A string that contains numbers or characters of length between 6 and 20. It must contain at least one lowercase letter, one uppercase letter, one numeric digit, but cannot contain white space.

REQUIREMENTS

1. FUNCTIONAL REQUIREMENTS

1.1 USER REQUIREMENTS

1.1.1 Registration and Login

  • 1.1.1.1 Users shall be able to register as a customer by providing an e-mail address, a strong password and name/surname.
  • 1.1.1.2 Users shall be able to register as a vendor by providing an e-mail address, a strong password, one or more locations of their stores through Google Maps, and name and title of the company.
  • 1.1.1.3 Users should be able to use a Google account instead of e-mail & password while registering.
  • 1.1.1.4 Registered users shall be able to log in as a customer or a vendor.
  • 1.1.1.5 Registered users shall be able to login with their e-mail and password.
  • 1.1.1.6 A customer shall be able to create a vendor account with the same credentials and vice versa.
  • 1.1.1.7 A customer shall accept system to store the password, the email, and the phone of the user to sign up.
  • 1.1.1.8 A vendor shall accept system to store the location, the name, and their contact information to sign up.
  • 1.1.1.9 Registered users shall be able to verify their e-mail by clicking the link that is sent to their e-mail address.
  • 1.1.1.10 For users who are in the verification process shall not login the application unless complete the verification process
  • 1.1.1.11 Customers or vendors shall be able to select "Forgot your password" when they have forgotten their password and select their new password.

1.1.2 Profile

  • 1.1.2.1 Customers shall be able to change their name/surname or password after a confirmation of current password.
  • 1.1.2.2 Customers shall have a profile settings page where after they confirm their current passwords they can edit their:
    • 1.1.2.1.2 Address
    • 1.1.2.1.3 Phone number
    • 1.1.2.1.4 Payment method
    • 1.1.2.1.5 Birthday date
  • 1.1.2.3 Vendors shall have a profile settings page where they can change their password after they confirm their current passwords.
  • 1.1.2.4 Vendors shall have a public profile page where they can edit fields:
    • 1.1.2.3.1 Name of the company.
    • 1.1.2.3.2 Contact information of the company.
    • 1.1.2.3.3 Location of the store through Google Maps.

1.1.3 Products

  • 1.1.3.1 Users shall be able to view the page of products.
  • 1.1.3.2 Page of the products shall contain price, expected delivery date, images of the product(if possible), technical features, availability at the moment, comments, rating, and its current vendor.
  • 1.1.3.3 Vendors shall be able to request to create, update or delete the page of products from admins.

1.1.4 Search

  • 1.1.4.1 Users shall be able to choose to search for products or vendors.
    • 1.1.4.1.1 Users shall be able to search for products based on one of the followings: product title, category, brand, vendor, color.
  • 1.1.4.2 Users shall be able to do a semantic search for products.
  • 1.1.4.3 Users shall be able to filter results according to:
    • 1.1.4.3.1 Brand name
    • 1.1.4.3.2 Vendor name
    • 1.1.4.3.3 Minimum and maximum price
    • 1.1.4.3.4 Color
  • 1.1.4.4 Users shall be able to sort results according to:
    • 1.1.4.4.1 Price, increasing or decreasing

1.1.5 Shopping Cart

  • 1.1.5.1 Customers and guests shall be able to add products to their shopping cart.
  • 1.1.5.2 Customers and guests shall be able to see the price of each product in the cart.
  • 1.1.5.3 Customers and guests shall be able to increase or decrease the quantity of the products.
  • 1.1.5.4 Customers and guests shall be able to delete products from their carts.
  • 1.1.5.5 Customers and guests shall be able to see the total price of the cart.

1.1.6 Lists

  • 1.1.6.1 Customers shall perform these operations on the lists: creating, naming, deleting.
  • 1.1.6.2 Customers shall be able to add/remove products to/from their lists.
  • 1.1.6.3 Customers are provided with one list namely "Watchlist" and one list namely "Favlist" by default and Requirements (1.1.6.1) is not applicable to these two lists.
  • 1.1.6.4 Watchlist is the default list given by the application which enables user to get notified if one or many events happen in Requirements (1.1.10.1).

1.1.7 Order

  • 1.1.7.1 Registered users shall have an Orders Page where all the active/inactive orders are listed.
  • 1.1.7.2 Guests who previously placed an order shall be able to enter to the Order Details Page by providing their Order Tracking Number.
  • 1.1.7.3 All users shall be to see Order Details on the Order Details Page.
  • 1.1.7.4 Users shall be able to cancel orders that have not been shipped yet on the Order Details Page.
  • 1.1.7.5 Customers and guests shall be able to return an inactive order within 14 days after delivery.
  • 1.1.7.6 Vendor shall accept the return or not, according to the condition of the product.
  • 1.1.7.7 Upon acceptance of a return request, the customer/guest shall get a refund.
  • 1.1.7.8 Upon acceptance of a return request, customers shall also get cancellation of an increase in points due to that product(s).
  • 1.1.7.9 Upon rejection of a return request, the customer/guest shall receive the products again.
  • 1.1.7.10 Customers shall be able to see their scores based on the money that they spent so far on the platform.
  • 1.1.7.11 Vendors shall be able to see the money that they earned so far on the platform.
  • 1.1.7.12 Customers should be able to return their orders for exchange.
  • 1.1.7.13 Customers should be able to request missing/flawed parts.

1.1.8 Purchase

  • 1.1.8.1 Customers and guests shall be able to purchase the products in their shopping carts.
  • 1.1.8.2 Guests shall log in, or provide an e-mail address to proceed to payment.
  • 1.1.8.3 Customers and guests shall choose between those payment methods: credit or debit card.
  • 1.1.8.4 Customers who have chosen credit/debit cards shall either provide card information or use a saved one in case there is any.
  • 1.1.8.5 Guests who have chosen credit/debit cards shall provide card information.
  • 1.1.8.6 Customers shall either enter a new address or use a saved one.
  • 1.1.8.7 Guests shall enter an address.
  • 1.1.8.8 Customers and guests shall receive an Order Tracking Number upon payment.
  • 1.1.8.9 Customers and guests shall receive an e-mail about the details of the order.
  • 1.1.8.10 Customers and guests shall be able to allow the system to store the card information of him/her after he/she made a purchase.

1.1.9 Comment and Rate

  • 1.1.9.1 Customers shall be able to comment on or rate the products they bought.
  • 1.1.9.2 Users shall be able to view user comments and ratings about products.

1.1.10 Notifications

  • 1.1.10.1 Customers shall be able to choose to get notifications concerning one product or any product in their watchlists, for certain events:
    • 1.1.10.1.1 A change in price
    • 1.1.10.1.2 An unavailable product becomes available

1.1.11 Recommendations

  • 1.1.11.1 Customer users shall receive product recommendations based on purchase history.
  • 1.1.11.2 Recommendations will be based on purchases and their associated weights(price, date, etc.).

1.1.12 Messaging System

  • 1.1.12.1 Vendors and admins shall be able to communicate via messaging anytime.
  • 1.1.12.2 Customers shall be able to start a conversation with a vendor after purchasing a product from that vendor.
  • 1.1.12.3 Customers should be able to message admins if a problem arises after the delivery within guarantee extent.

1.1.13 Admin Panel

  • 1.1.13.1 Admins shall be able to add/remove categories.
  • 1.1.13.2 Admins shall be able to delete or suspend accounts.
  • 1.1.13.3 Admins shall confirm or not when a product is added.
  • 1.1.13.4 Admins shall be able to delete products.
  • 1.1.13.5 Admins shall be able to confirm if a product information is editted by the vendors.
1.2 SYSTEM REQUIREMENTS

1.2.1. Registration and Login

  • 1.2.1.1 The system shall allow guest users to register via e-mail and password or their google account as a customer, vendor.
  • 1.2.1.2 The system shall allow guest users to login via their e-mail and password or their google account.
  • 1.2.1.3 The system shall require users to verify their e-mail via a link sent to their e-mail.
  • 1.2.1.4 The system shall give a warning when the user tries to signup with shorter than 8 characters, at least an uppercase character, a lowercase character, and a number.
  • 1.2.1.5 The system shall take consent from the customer user to store the password, the email, birthday information, and the phone of the user while signing up.
  • 1.2.1.6 The system shall take consent from the vendor user to store the location, the name, and the contact information of him/her while signing up.
  • 1.2.2.7 The system shall store user names, e-mail addresses, passwords, store address, phone numbers, full names, the location from Google Maps of each registered vendor.

1.2.2 Profile Management

  • 1.2.2.1 The system shall store user names, e-mail addresses, passwords, addresses, phone numbers, full names, and birth dates of each registered customer.

1.2.3 Search

  • 1.2.3.1 The system shall allow keyword and semantic search for users.
  • 1.2.3.2 The system shall have categories for products that have a similar feature.
  • 1.2.3.3 The system shall allow users to search for products categorically.
  • 1.2.3.4 The system shall distinguish the same products which are sold by different vendors.
  • 1.2.3.5 The system shall allow users to filter products by brand, vendor-rate, price and color.

1.2.4 Purchase

  • 1.2.4.1 The system shall allow customers and guest users to buy the products in their cart after they supply the information about their payment and address.
  • 1.2.4.2 The system shall give the registered users the option to save their credit card information.
  • 1.2.4.3 The system shall give options for using a new address or a saved address for the purchase.
  • 1.2.4.4 The system shall allow users to add products to their carts.
  • 1.2.4.5 The system shall allow customers and guest users to remove products from their carts.
  • 1.2.4.6 The system shall allow customers and guest users to buy products that are in their carts only.
  • 1.2.4.7 The system shall support different types of purchase methods such as credit card and debit card.

1.2.5 Comment and Rate

  • 1.2.5.1 The system shall have a rating system out of five for the products.
  • 1.2.5.2 The system shall allow customers who ordered a product, to comment on those products.
  • 1.2.5.3 The system shall allow customers who ordered a product, to rate on those products.

1.2.6 Product pages

  • 1.2.6.1 The system shall hold product information on the product's page.
  • 1.2.6.2 The system shall have pictures of products.
  • 1.2.6.3 The system shall support comments for products.
  • 1.2.6.4 The system shall support product rate.
  • 1.2.6.5 The system shall hold the property of the products.
  • 1.2.6.6 The system shall support vendor rate.

1.2.7 Lists

  • 1.2.7.1 The system shall allow users to create, edit, delete non-default lists.
  • 1.2.7.2 The system shall allow available products to be transferred from lists to cart.
  • 1.2.7.3 The system shall allow products to be added in lists.
  • 1.2.7.4 The system shall keep the lists private for each user.
  • 1.2.7.5 Users shall be notified about unavailable products while transferring product from the list to the shopping cart.

1.2.8 Google Accounts and Maps Synchronization

  • 1.2.8.1 The system shall support Google Maps

1.2.9 Recommendation System

  • 1.2.9.1 The system shall recommend users similar products related to their search history.

1.2.10 Messaging System

  • 1.2.10.1 The system shall have a private chat platform for customer and vendor communication.
  • 1.2.10.2 The system shall allow customers and vendors to ask help from admins by opening tickets.

1.2.11 Order Page

  • 1.2.11.1 The system shall allow customers and vendors to see their active and delivered orders.
  • 1.2.11.2 The system shall allow customers to cancel an active order before it being shipped.
  • 1.2.11.3 The system shall support returning and refunding of delivered products.
  • 1.2.11.4 The system shall contain shipment information containing tracking number and customer adress accessible by customers and vendors.
  • 1.2.11.6 Users shall be able to track return exchanges and part requests.

1.2.12 Admin Permissions

  • 1.2.12.1 Admins shall be allowed to delete or suspend accounts violating.
  • 1.2.12.2 Admins shall be allowed to create a new category.
  • 1.2.12.3 Admins shall be able to confirm a product edit.
  • 1.2.12.4 Admins shall be able to see and edit message tickets.

1.2.13 Notification System

  • 1.2.13.1 The system shall allow customers to set alarm for products in the watchlist for a certain price and notify them via e-mail.

2. NON-FUNCTIONAL REQUIREMENTS

2.1 SECURITY
  • 2.1.1 Each user shall have a strong password.
  • 2.1.2 All user passwords shall be stored with encryption in the database using SHA-256.
2.2 PRIVACY
  • 2.2.1 All user data shall be processed according to KVKK and GDPR.
  • 2.2.2 The system shall take consent from the customer user to store the password, the email, birthday information, and the phone of the user while signing up.
  • 2.2.3 The system shall take consent from the vendor user to store the location, the name, and the contact information of him/her while signing up.
2.3 ACCESSIBILITY
  • 2.3.1 Product shall be accessible from any Android device that has Android 6.0+.
  • 2.3.2 Product shall support Google Chrome 79+, Safari 10+, Firefox 71+.
2.4 AVAILABILITY
  • 2.4.1 Product information shall be available in English.
2.5 STANDARTS
  • 2.5.1 The system shall follow the standards introduced by the World Wide Web Consortium (W3C).
  • 2.5.2 Platform should support the W3C Activity Streams protocol.



🏠 Home


💻 Project



📜 User Manuals


☎️ Group Members

- Current Members -

- Former Members -


📃 Milestones

- CMPE451 -

- CMPE 352 -


📃 Meeting Notes

- CMPE 451 Meetings -

- CMPE 352 Meetings -

- CMPE 352 Project Plan -


🔍 Research

Clone this wiki locally