Skip to content

Commit

Permalink
Merge branch 'master' into pablof
Browse files Browse the repository at this point in the history
  • Loading branch information
sergiomalv committed May 3, 2022
2 parents a707b11 + 3917d98 commit 19215a4
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 11 deletions.
12 changes: 12 additions & 0 deletions docs/03_system_scope_and_context.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
4 changes: 2 additions & 2 deletions docs/06_runtime_view.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down Expand Up @@ -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]
----
Expand Down
21 changes: 12 additions & 9 deletions docs/10_quality_scenarios.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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
|===
|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
|===

4 changes: 4 additions & 0 deletions docs/11_technical_risks.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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
|===

0 comments on commit 19215a4

Please sign in to comment.