Skip to content

Deliverable 1

santig005 edited this page Sep 8, 2023 · 65 revisions

1. Introduction

1.1. Purpose

The software project is being developed in order to improve the sellings and the scope of a neighborhood store. Our project is called TendeUs

  • In this digital age is very important that even a small neighborhood store can be promoted in the digital environment

1.2. Scope

  • The product is identifying as an online store, it will allow the user buy products selled at the store and then, have different product recomendations according to a data analysis of each user looking for the most adjusted products seeing the favorite, the bought, and the rated products.
  • Is expected that the seller will improve their sellings by using the software because it will allow the store to increase the reach of it in the neighborhood, and then, improve the profits of the seller.

1.3. Product Overview

image

1.3.1. Product perspective

The product is primarly an independent system. It is not part of a larger system. However it is going to interact with other softwares such as database and external APIs

  • System Interfaces: The product is going to use a local database or a database located in the cloud or on a server. The seller does not have an inventory manager from which the product can request information, so it is assumed that the seller will update the information about the inventory as soon as it changes

  • User Interfaces: The user interface is a web application that users can interact with. From there the seller will be able to update all their information and chat with customers, and these last ones will be able to perform all the other activities, from the login to the purchasing process, and even chatting with the seller to ask for information. These ones will have to be very intuitive for an expected range of people over 18 years old.

  • Hardware Interfaces: The product is merely based on software, so there are not hardware components to interact with.

  • Software Interfaces: The product interacts with some APIs for payment validations.

  • Communications Interfaces: In case the seller does not have the web application open when a purchase is made, an email or SMS might be sent using APIs

  • Memory: It is very important the product can store the information, for that reason the data will be stored in a database to ensure the persistancy of the product.

  • Operations: The product allows perfom several operations such as updating information of, searching for, adding to wishlist, reviewing, generating recommendations of the products, and chatting between customers and the seller

  • Site Adaptation Requirements: Depending on the evolution of the product, it might be necessary to migrate to other more eficient, faster and/or cheaper technologies. The product is opened to possible changes.

1.3.2. Product functions

The product has various functionalities that in union make the product the desired system for both the seller and the customers. The most important product funtions are described below:

  • Inventory management: It is an activity performed by the seller, which covers from the product registration to updating information of products, in features such as name, price, photo, description, labels and available units.
  • Account configuration: Both the seller and the customer can configurate their accounts, the first one can update store information and the second one can register (if it they have not alredy done so), and if he/she wish, update their account data.
  • Store browsing: Even if a person has not yet registered, he/she can browse the catalog of store products.
  • Keyword search: A search for a product or a category product can be perfomed typing a keyword in the search bar.
  • Shopping car: The customer can add products to the car while browsing the store before proceeding to order confirmation and payment.
  • Feedback customer: This one is actually the customer posibilities of add a product to wishlist; rate and write a review about a product, and together with the purchase history help to characterize the customer.
  • Generation of recommendations: As long as the customer is logged in and there are feedback and purchase history information, the system is expected to be able to determine which products show the customer in the main views.

The customer who is not logged in, only can browse by the store and search things. While the customer who is alredy logged in can enjoy of the rest of functionalities created for them, such as adding to shopping car, buying product, giving feedback and chatting with the seller

1.3.3. User characteristics

(It is important to note the system is made for the use of one seller in specific, but it can be adapted to any seller, configuring the database, and some details such as the logo, name...) The system also is made for a small seller whose main activity is retail sails, this person has a low-medium educational level. On other hand the range of customers ranges from young to old, as well as from low to medium-high educational level, therefore, a big part of this type of users might not be very familiar with the use of technologie, so it is very important the application is friendly and very intuitive

1.3.4. Limitations

  • Inaccuracy in product labeling: The product labeling is a task that depends purely on the seller, they might make a mistake while writting a label, finding the correct and sufficient categories. For this reason, the recommendation generation and search functions can be a little overshadowed.
  • No real-time product availability data: The ideal case would be the seller had the online store inventory decoupled of the physic store, but this is likely not the case, so the common case is expected be one where the seller registers in the online store the physical inventory, but a problem could arise: One purchase may occur in the physical store, while two or more may be occurring in the online store and commiting the same inventory, that makes necessary that after the seller finishes the physical sale, confirm the paid orders from the online side taking into the current availability, if rejected a refund could be necessary
  • Use of the software by an internet connection: The use of the software will only be provided by an internet connection because the software is a webpage that also connects to a database

1.4. Definitions

  • API: API stands for Application Programming Interface. Is a set of functions and procedures allowing the creation of applications that access the features or data of an operating system, application, or other service.
  • Customer: is the person, usually resident of the neighborhood, who wants to buy from the seller by shopping in the website.
  • Seller: is also the product owner, the type of user who is in charge of managing the online store, and who works in the physical store.
  • CRUD: CRUD is an acronym that comes from the world of computer programming and refers to the four functions that are considered necessary to implement a persistent storage application: create, read, update and delete.
  • Product: is an article or substance that is manufactured or refined for sale.

2. References

Throughout historical evolution, the utilization of technology to carry out transactions linked to acquiring goods has undergone noteworthy transformations. From early records of products many centuries ago to promotional publications of past decades, and after an unceasing stream of innovations and progress, a contemporary event of significance marked a turning point in purchasing behaviors: The rise of online commerce platforms and the adoption of these tools to obtain products were greatly propelled by this transformation, thus generating an opportunity for companies to enhance the virtual shopping experience and attract buyers due to the reach achieved by this "trend." For a substantial majority, around 80% of consumers, they believe that electronic shopping platforms offer a pleasant user experience and it is highly likely they will return to the site, thereby contributing to a further expansion of these practices. Colombia is not the exception, this country has experimented an important increase in the e-commerce sector, according to a report of CCCE(Camara Colombiana de Comercio Electronico) in the first quarter of 2021 the sellings through electronic commerce increased 44%. In addition the report says that in that period the time the trend of colombian people was to acquire everyday and basic goods and services, instead of luxurious things Ventas en linea crecieron un 44% durante el primer trimestre de 2021 en Colombia

TendeUs addresses a set of key challenges faced by sellers aiming to expand their businesses into the digital realm, as well as buyers seeking these local products but, for various reasons, are unable to access them. These issues that the software strives to resolve are:

  • Vendor Reach for Local Businesses: There are local businesses offering high-quality products, but they might not be getting the necessary visibility in the digital environment to reach more customers. TendeUs provides a platform to showcase products from these local vendors, offering them the opportunity to compete in the online market, expanding their reach and connecting them with a wider audience.

  • Disinformation and Lack of Details: Customers often face a lack of detailed information about products they wish to buy online from local businesses. TendeUs addresses this issue by providing comprehensive and accurate product descriptions, along with relevant images and essential details. This helps users make more informed purchase decisions and reduces the risk of acquiring products that don't fit their needs.

  • Difficulty Locating Products in an Extensive Catalog: In a scenario such as a convenience store, it can be a bit cumbersome to go around the store finding every product needed, in fact it can be difficult to locate products in general. TendeUs tackles this challenge by offering users a centralized platform where they can explore and search for local products by keywords and categories. This greatly simplifies the search process and reduces the time users spend searching across multiple stores.

  • Lack of Information about Promotions and Special Offers: Customers often miss out on promotions and special offers from local businesses because they lack an effective way to learn about them. This can result in missing significant savings opportunities. TendeUs addresses this concern by providing a system of personalized notifications. Customers can opt to receive alerts about promotions, discounts, and special offers from local businesses that interest them. This ensures customers are aware of savings opportunities and can make the most of available deals, thereby adding greater value to their online shopping experience.

The system will connect to the users' database through the HTTPS protocol, which ensures their integrity, while private access routes will be defined to guarantee security when using the system.

3. Specific requirements

3.1. External interfaces

The software doesn´t have an external interface

3.2. Functions

RF01: The system shall provide the user with the ability to access to its account through a username and a password.

RF02: The system shall provide the buyer with the ability to access to create an account through a name, email, username, and a password.

RF03: The system should provide the buyer with the ability to manage its account. This includes reading, updating, deleting personal account data (name, password, and email).

RF04: The system should provide the buyer with the ability to deleting its account.

RF05: The system shall provide the seller with the ability to manage the categories. This includes creating, updating, reading, and deleting them.

RF06: The system shall provide the seller with the ability to manage the products. This includes creating, reading, updating, and deleting products over the next attributes: Name, purchase price, sale price, available quantity, category, tags, image, description, and expiration date.

RF07: The system should provide the seller with the ability of classify products into defined categories.

RF08: The system shall display the products available in the store, in the first view for each product will be displayed an image, name, quantity sold, and price.

RF09: The system shall provide the buyer with the ability to see more information about a product. To this end, when the buyer clicks on a product to get more information about it, the system shall show a single page for the product, and display main and secondary details such as image, name, price, star rating, available quantity, description, and reviews from other buyers.

RF10: The system should provide the buyer with the ability to search for products using keywords.

RF11: The system shall provide the buyer with the ability to add products to a virtual shopping cart.

RF12: The system should provide the buyer with the ability to adjust quantities of the products in the cart.

RF13: The system should provide the buyer with the ability to remove selected products from the shopping cart.

RF14: If the buyer wants to pay what there are in the shopping cart by clicking the button “to pay”, then the system shall create an order and wait for the payment confirmation.

RF15: The system shall provide the buyer with the ability to choose their preferred payment method.

RF16: The system shall confirm the order of products if and only if the payment is approved.

RF17: If the seller is offline, the system could notify the seller by email when a purchase be completed.

RF18: In case an order is confirmed, and the seller is offline, the system shall provide the seller with the ability to confirm the purchase. This action shall be performed when the seller is online.

RF19: The system shall provide the buyer with the ability to view its purchase history.

RF20: The system shall provide the buyer with the ability to view the purchase invoice. This last one shall include the buyer’s name, list of products, value paid with the transaction date, the rut and the logo of the store.

RF21: The system should provide the buyer with the ability to add products to a personal wish list.

RF22: The system could provide the buyer with the ability to evaluate the products they have purchased by means of a star rating from 1 to 5.

RF23: After the buyer is registered, the system could show the buyer personalized product recommendations based on its past purchase history, reviews, and desires. These recommendations should assist users in discovering relevant products that align with their interests.

RF24: The system could provide the seller with the ability to edit the store attributes (for example, contact number, address, and schedule).

RF25: The system could provide the buyer with the ability to send a message to the seller through a form.

RF26: The system shall manage efficiently manages user permissions.

RF27: The system could provide the seller with the ability to view graphics and information relevant for the seller. More specifically, this is based in information about the most and least sold products, and categories.

RF28: The system could offer to the buyer products close to expiration, with a discount. These are products whose expiration date is up to 20 days after the current date and could be offered with a discount, the discount price will be (purchase price+((sale price - purchase price) *0.2).

3.3. Usability requirements

UR01: The system must be available for use whenever required according to the client's necessity, this will be proved using the system in a workday by the client

UR02: The system should be able to run on different devices with minimal changes to the design.This will be proved using the system in a phone verifying the usability of each part of the system

UR03: The design and navigation of the application should be intuitive and user-friendly. This will be proved showing the system to different types of people and listening the reviews of that people

UR04: Users' personal and financial data must be protected through HTTPS encryption and comply with security standards.

UR05: The system must be capable of handling a product catalog that grows according to the client's needs without affecting performance.This will be proved putting all the products of the store and be measure of the performance using each functionality

UR06: The system should allow only authenticated and authorized users to access sensitive functions and data of the virtual store.This will be proved trying to use the functionalities of the application without make registration and be measure that none of the functions are allowed

3.4. Performance requirements

PR01: Pages must load within a maximum of 3 seconds. This will be checked taking the time since the interaction with the button until the full load in the page

PR02: Payment processing should have an average latency of less than 2 seconds, ensuring a smooth shopping experience.This will be proved using the functionality in some occasions and counting the time of execution by each time

PR03: The database that stores product information, user data, and order details should be optimized for quick data retrieval and updates loading the petitions in less than 2 seconds. This will be provided using the software for a long time be measured that the performance of each action didn´t decrease

PR04: The system must kick the user from the payment process if the time it takes to do so exceeds 10 minutes. This will be proved using the system and waiting the response of it be measure that the system kicks the user.

3.5. Logical database requirements

a) Types of information used by various functions:

Customer's information:(Name, username, email, password, phone number)

Product's information:(Name,image,id,description,price,availability product, company, categories)

Categorie's information:(Name)

Store's information:(Rut, name, phone, email, description, address)

Shopping car's information:(Product Ids, customer Id, subtotal, payment method)

Administration information: (user, password)

b) Frequency of use:

Product: Accessed frecuently by each time that the page is open

Shopping car information: Use frecuently by each time the customer makes a purchase

Categories information: Use frecuently each time the customer explore the webpage

Administration information: Use each time the admin join into the panel to manage the products and see the registers

c) Accessing capabilities:

Customers: Customers can explore and list the productos into a shopping card and then, buy it

Administration information: Only the admin can join into the panel and see the registers of each table, like products, categories, users

d) Data entities and their relationships:

  • Categories is in relation with products

  • Company is in relation with products and bill

  • Product is in relation with shopping car

  • Shopping car is in relation with bill

  • Customer is in relation with shopping car

  • Payment method is in relation with shopping car

e) Integrity constraints:

  • Email Must to be with the specific domain
  • Quantity Can’t be a negative value
  • Price Can’t be a negative value
  • Password Must have at least 8 characters

f) Data retention requirements:

3.6. Design constraints

The system must be a web application developed in HTML, CSS, JS, Python and Django and using libraries according to it.

The system must use django as the bussiness logical and make the request, petitions, and connections between UI and database.

The system must respect the model - view - template structuring provided by the framework.

The system must have data analysis to provide information to the web application itself.

The system must have a responsive design.

4. Video

https://youtu.be/B_AJVSEwxtM

5. Project management