diff --git a/docs/03_system_scope_and_context.adoc b/docs/03_system_scope_and_context.adoc index f42ac6b..bf3dbc3 100644 --- a/docs/03_system_scope_and_context.adoc +++ b/docs/03_system_scope_and_context.adoc @@ -20,6 +20,18 @@ The customer will have access to his shopping basket where he will be able to in :imagesdir: ./images image:03_Diagram.jpg[] +[options="header",cols="1,2,3"] +|=== +| Entity | Inputs | Outputs +| User | Interface of the webapp | Data that user provides to the application +| DeDe | Interaction and data from the user and APIs | Information to the users and data to the APIs +| MongoDB | Data from DeDe to store | Data required from DeDe to show to the users and admins +| PODs | Inrupt username of the client | Address of the client +| Cloudinary | Image to store in | ID of the image to show +| NodeMailer | Email address of the client and details of the order | Sends an email to the client +| Shippo | Address of the client | Shipping cost and estimated arrival day of the order +|=== + === Technical Context The system has SOLID architecture in order to respect the privacy of each user's data, this is achieved through the use of PODS to store the user's personal data. The programming language used in the application is Typescript and React is used as the main library to facilitate the development of the application.A certain number of apis were also used to access certain resources. diff --git a/docs/06_runtime_view.adoc b/docs/06_runtime_view.adoc index 7cfa913..710d392 100644 --- a/docs/06_runtime_view.adoc +++ b/docs/06_runtime_view.adoc @@ -7,7 +7,7 @@ This section shows the main sequence diagrams between the users and the application. -=== Request +=== Products catalog This view shows a request from a customer to view the product catalog. The web receives the request where it will access the database to get the list of products. Once obtained, it returns them to the customer. @@ -127,7 +127,7 @@ end === Modify products -This view shows how the administrator, after having logged in, will modify the catalog. The front-end makes a petition to the back-end by a petition and then the app connects to the database by mongoose. +This view shows how the administrator, after having logged in, will modify the catalog. The front-end makes a petition to the back-end by a petition and then the app connects to the database. [plantuml,"AdminModify",png] ---- diff --git a/docs/10_quality_scenarios.adoc b/docs/10_quality_scenarios.adoc index 16adf97..326e07c 100644 --- a/docs/10_quality_scenarios.adoc +++ b/docs/10_quality_scenarios.adoc @@ -12,20 +12,23 @@ left to right direction (Performance) as (Pr) (Usability) as (U) (Security) as (Se) -(Integrity) as (In) +(Availability) as (Av) QT --> Pr QT --> U QT --> Se -QT --> In +QT --> Av ---- Quality Scenarios:: -[options="header",cols="1,2,3,4"] +[options="header",cols="1,2,3,4,5"] |=== -|Quality objectives|Motivation|Scenarios|Priority -|Security|The use of Solid PODs helps each customer to own their data and prevent data loss. In addition, each customer should be the only one who knows what products they have in their cart.|In Tech Zone the shipping address is obtained through the customer's POD, which is the only one who knows what products are in the cart.|Hard -|Usability|The application should have a good interface for all customers, whether or not they have experience in online stores.the interface should make the customer feel comfortable through a readable and functional presentation of the products.|Tech Zone has a simple catalog where products can be viewed and added to the cart in an intuitive way. During the login, registration and purchase process, notifications appear to help the customer in case of mistakes. The application is implemented in English so that it can be used by more people.|Hard -|Integrity|Users (clients and administrators), will have different options within the application depending on their role. Products added to the store should not have inconsistent values.|Whenever a product is added, it is verified that its price and stock is greater than 0. On the other hand, administrators have an additional role that prevents normal customers from accessing their options.|Medium -|Performance|Response times should be as short as possible so as not to make the user impatient with a low latency.|We must optimize the code as much as possible in order to give the fastest possible response.| Medium- Low -|=== \ No newline at end of file +|Identifier|Quality objectives|Scenarios|Priority|Difficulty +|QG1-1|Security|In Tech Zone the shipping address is obtained through the customer's POD.|High|High +|QG1-2|Security|The customer is the only person who knows what products he has in his cart.|Medium|Medium +|QG2-1|Usability|During the login, registration and purchase process, notifications appear to help the customer in case of mistakes.|Medium|Low +|QG2-2|Usability|The application is implemented in English so that it can be used by more people.|Medium|Low +|QG3|Availability|The application is contained on an AWS machine that is accessible at all times while it is powered on.|Medium|Medium +|QG4|Performance|We try to make our code as optimal as possible. We have a code duplicity of 4.7% that only appears in tests.|Low|High +|=== + diff --git a/docs/11_technical_risks.adoc b/docs/11_technical_risks.adoc index 7144cde..cde8289 100644 --- a/docs/11_technical_risks.adoc +++ b/docs/11_technical_risks.adoc @@ -8,4 +8,8 @@ | Lack of time regarding deliveries | Set guidelines for a regular and stable progress | Misunderstanding of the application requirements | Clarify the requirements with the teacher | Merge problems in git | Set guidelines for a stable merge +| Options for editing products, canceling an order and banning users | Implementing the frontend part of these options +|LogIn with SOLID|Change the Solid API we use to one that allows users to login +|e2e testing in deployment|Get the webapp to connect to restapi during the testing of these tests +|Continuous deployment|Change the hosting plant, which would imply an economic cost |===