Software Requirement Specification
Functional Requirements
-
Create accounts from many sources: Support the ability to register accounts using different methods such as email-password, Google and many more in the future. Credential data should include information such as email, password, registered account type, account type (user, seller, etc.), account status, creation time, etc.
-
Manage statistical information of a store: Support periodic statistical data retrieval tasks for data such as order cancellation rate, total number of products, reviews and visits, response rate, operation quality score, etc. quickly.
-
Ability to personalize a store's display: Allow sellers to personalize the store's booth on the marketplace.
-
Ability to manage store collections: Allow sellers to add/edit/delete/toggle one or more collections. Collections can include attributes such as collection name, image, owning store, list of products in the collection, status, etc.
-
Manage information about product categories: Provide information about general categories, subcategories and product types in a subcategory.
-
Product information management: Products created from sellers will be ensured of all necessary information. Product data needs to have product description, name, price, category, product attributes, etc. In addition, the system supports the ability to import/export product information from external sources, typically through files (excel for example), and will process this information to the correct format
-
Retrieve product statistical information: Store and display real-time statistics for quick access. Statistical data may include average rating, quantity sold, inventory, creation date, and more.
-
Manage orders: Record orders placed by a customer from a store with specified products, applied discounts, shipping type, incurred costs and total costs, the shipping-to address and the time the order was created. Customers or sellers can review all of their orders in the future.
-
Manage order status: Record the current status and previous status of an order. Specifically, record the time the status changes, status type, status duration and the time that the status is confirmed as completed.
-
Diverse payment methods for orders: Support multiple payment methods that can be applied to each order. The two basic payment methods required are Cash on Delivery (COD) and Payment via ZaloPay. More importantly, it is necessary to record the payment status and payment time for each payment method applied in each order.
-
Manage review information about a product: Record customer reviews about the product after completing the order. A review needs to indicate information such as the reviewed product, the customer who rated it, the rating score, the review content, etc. A product review can be liked and commented on by other users.
-
Management of discount codes: Allow sellers to create/edit/delete one or more discount codes. Discount codes are generated by a store within a certain period of time and have an activation time. A discount code must have a name, the store that created the discount code, discount type information, creation time, activation time, expiration time, quantity number, number of applicable usage, status of discount code.
Non-Fuctional Requirements
-
Security: Password must be stored as a string hashed from a strong hash algorithm. The database needs to manage login sessions, requests for new authentication information from users, new issuance and revocation of violating or expired authentication information, etc.
-
Flexibility in storage: The database must be designed so that the same data field is capable of storing many data objects. For data fields of this type, the database design must allow for unlimited expansion in the number of data objects that can be added. For example, payment data on an order may vary depending on the payment type selected, can be stored in the same data field, may differ in quantity, subfield name, and storage data type.
-
Scalability: The database system is designed to scale across multiple servers to handle increasing numbers of users and data volumes. It can be separated into operational databases for each role such as product database, order database, etc.
-
Maintainability: The database schema should be well documented and designed to be easily implemented and modified without affecting existing functionality.
-
Responsiveness: The database needs to be guaranteed to be always ready, allowing connections from service servers quickly with low latency. The database is capable of recovering from failures and responding to requests immediately.
Main Features
The team's top priority is to research and apply AI/ML to e-commerce applications to help improve user experience and increase business efficiency. The application direction focuses on developing the following outstanding features:
Customer Features
-
Using AI to synthesize and analyze reviews: Synthesize and analyze customer nuances after purchasing based on the reviews they comment on that product. From there, we get an overview, advantages and disadvantages of the product, and filter out meaningless comments.
-
Virtual assistant: Develop a smart virtual assistant using AIML to provide users with all information from the platform (sellers, products, promotions, reviews, etc.), ready to support anytime, anywhere. In addition, the virtual assistant also supports operations related to purchases to optimize usage efficiency.
-
Recommend product categories, products and trustworthy sellers: Analyze statistics and recommend featured product categories, best-selling products and trustworthy sellers based on customer traffic and revenue.
-
Product combo suggestions: The platform recommends products that are often purchased together to offer personalized marketing strategies and increase business efficiency.
-
Virtual fitting room: When provided with image of the person who wants to try on website's clothes or fashion products, the platform can do virtual try-on by putting selected fashion products on the provided image, creating a sense of familiarity like shopping traditionally.
Seller Features
-
General assessment management: Synthesize and analyze customer feedback, from there, make proposals to develop sales quality for sellers.
-
Virtual assistant: Develop a smart virtual assistant using AI to consult businesses with personalized information from the platform (customer visits, sales, etc.) using visual charts, suggest sales action and predict the future.
-
Automatically create product description content: Provide tools to support the creation of product description content based on summary information provided by the seller.
-
Creating product images: When provided with an image of the fashion product and the desired model's characteristics, the platform will create an image of the model using the product based on the provided information.
-
Revenue analysis: Based on sales data over different periods, the system provides an analysis of business efficiency.