From d700b912b411b38f247d9371e2df2f871eabb4ad Mon Sep 17 00:00:00 2001 From: SofiaYYQ <79652551+SofiaYYQ@users.noreply.github.com> Date: Wed, 4 May 2022 18:33:12 +0200 Subject: [PATCH] doc actualizado (#213) --- docs/01_introduction_and_goals.adoc | 4 ++-- docs/04_solution_strategy.adoc | 2 +- docs/07_deployment_view.adoc | 4 ++-- docs/08_concepts.adoc | 27 +-------------------------- docs/10_quality_scenarios.adoc | 4 ++-- docs/12_glossary.adoc | 2 +- 6 files changed, 9 insertions(+), 34 deletions(-) diff --git a/docs/01_introduction_and_goals.adoc b/docs/01_introduction_and_goals.adoc index 0f65a71..c1bba08 100644 --- a/docs/01_introduction_and_goals.adoc +++ b/docs/01_introduction_and_goals.adoc @@ -32,7 +32,7 @@ package ArquiSocks { } database Database -cloud SolidPod +database SolidPod cloud MapsAPI client --> viewProducts @@ -83,7 +83,7 @@ A table with quality goals and concrete scenarios, ordered by priorities |=== |NÂș|Quality|Motivation -|1|Confidentiality|The application will respect client's privacy. Users are going to manage their personal information stored in Solid Pods. +|1|Confidentiality|The application will respect client's privacy. Users are going to retrive their personal information stored in Solid Pods. |2|Availability|The application will be available the majority of time, specially at client reviews. System availability will always be above 97%, with about 15 hours of maintenance every three weeks. |3|Usability|The GUI will be easy to use for any user, especially non-technical users. We will do usability tests with different user profiles. |4|Accesibility| Provide equal access and opportunities to people. Increase the number of customers using the application. diff --git a/docs/04_solution_strategy.adoc b/docs/04_solution_strategy.adoc index 44b2241..ed3c198 100644 --- a/docs/04_solution_strategy.adoc +++ b/docs/04_solution_strategy.adoc @@ -27,7 +27,7 @@ Refer to details in the following sections. .Technology decisions |=== |Decision|Reason -|MongoDB as DBMS|MongoDB is a non-relational model that is a good choice for this project. However, this decision may change in the future. +|MongoDB as DBMS|MongoDB is a non-relational model that is a good choice for this project. |Docker for application deployment|Docker is chosen due to its popularity and there is a lot of information about this technology. |Visual Studio Code, WebStorm as IDE or a text editor|At the moment, everyone can use any IDE that supports Typescript and React. Or even, it is possible to use a text editor instead of an IDE. Because the project continues working regardless of the used tool. However, an agreement may be fine to avoid potential problems. |=== diff --git a/docs/07_deployment_view.adoc b/docs/07_deployment_view.adoc index d43a73c..cd1c4f2 100644 --- a/docs/07_deployment_view.adoc +++ b/docs/07_deployment_view.adoc @@ -48,7 +48,7 @@ rectangle Website } } -node "Web server (Heroku)" as webserver{ +node "Web server (Heroku and Azure)" as webserver{ component "<> \n DeDe_FrontEnd"{ node WebApp } @@ -76,7 +76,7 @@ WebApp --> solid : use @enduml ---- Motivation:: -The user will access our app through a website which will communicate with the Web server hosted by Heroku. Then, the Webapp will use the RestAPI to respond the user's requests. The RestAPI will use both MongoDB and the Solid pod from the user in order to correctly respond the WebApp request. +The user will access our app through a website which will communicate with the Web server hosted by Heroku. Also, the user can access our app hosted in Azure. Then, the Webapp will use the RestAPI to respond the user's requests. The RestAPI will use both MongoDB and the Solid pod from the user in order to correctly respond the WebApp request. Quality and/or performance features:: The performance will depend mostly on the user's internet connection and device hardware, since most of the infraestructure depends on external services (MongoDB, Inrupt, etc.). However, we can increase the performance of the application focusing on writing better and most efficient code. diff --git a/docs/08_concepts.adoc b/docs/08_concepts.adoc index 89ee157..b580ff3 100644 --- a/docs/08_concepts.adoc +++ b/docs/08_concepts.adoc @@ -120,19 +120,11 @@ Thanks to the user's interactions with the application, usability problems can b Usability problems make the application difficult to use and understand for users. So, it is important to avoid or reduce it. -[options="header"] -.Detected usability problems -|=== -|Detected problem | Solution -|=== - ==== Accessibility There are different standards to follow to achieve accessibility. One of the standards is WCAG 2.0 (Level AA) which is the most used worldwide. Therefore, it is the one used in this application. Tools to use are: -* http://www.tawdis.net/[TAW] -* http://wave.webaim.org/[WAVE] * https://achecker.achecks.ca/checker/index.php[ACHECKER] * https://color.mediaandme.be/es[Color Test] @@ -150,8 +142,6 @@ Security is another key aspect to consider. Some measures to ensure security are * The application does not store private data of the user. To obtain it, the application asks the user for permission to access the Solid POD where the data is stored at the time it is needed. In this way, control of the user's own data is guaranteed. -* __ - === Availability To achieve high availability: @@ -164,12 +154,7 @@ To achieve high availability: === Efficiency Try to have a good code quality for better performance. We will develop many load tests which are going to simulate the state of the application as it were deployed and used by many users. There are many tools to prove that. Gatling will be the reference tool to get information of the behaviour of the app. Results will be shown in the wiki which is available in our repository in GitHub. You can follow this https://github.com/Arquisoft/dede_es5a/wiki/Tests-de-carga-usando-gatling[link] -=== Development concept -==== Build, Test, Deploy -__ - === "Under the hood" - ==== Persistency The database management system used is MongoDB and the main reason is the easiness of data passing between the database and the application based on node.js. Another reason is the feature it offers: flexible schema. @@ -180,18 +165,8 @@ A node.js module, express-session, is used to handle the application session. Th * The session of this module is stored on the server, therefore it is more secure. === Operation concepts - -==== Administration -__ - -==== Management -__ - ==== Logging Users just need to log in to any Solid Pod provider to use the app. There are several advantages: * The user does not have to register an account in the application. So he does not have to remember the password. -* Developers do not have to deal with passwords. - -==== Monitoring -__ \ No newline at end of file +* Developers do not have to deal with passwords. \ No newline at end of file diff --git a/docs/10_quality_scenarios.adoc b/docs/10_quality_scenarios.adoc index 7adca6d..da0361f 100644 --- a/docs/10_quality_scenarios.adoc +++ b/docs/10_quality_scenarios.adoc @@ -81,12 +81,12 @@ Tabular or free form text. **** |=== |Reference|Atribute|Scenario|Priority|Dificulty -| QS.1 | Confidenciality | Users' personal data will be stored in Solid pods. | High | Medium +| QS.1 | Confidenciality | User's personal data is retrived from their Solid pod. | High | Medium | QS.2 | Confidenciality | Only the data necessary for the correct operation of the application will be accessed. (Name, address and profile photo). | High| Medium | QS.3 | Availability | The application will be available the majority of time, specially at client reviews. System availability will always be above 97%, with about 15 hours of maintenance every three weeks. | Medium | High | QS.4 | Usability | Project documentation shall be kept up to date and consistent with the project. Changes will be made as soon as something changes, and this will be checked with a review every two weeks. | Medium| High | QS.5 | Usability | The application must be intuitive and easy to use. This will be verified by testing with different user profiles.| Medium| Medium -| QS.6 | Accesibility | The web application must pass the AA level in tawdis.net | Low | High +| QS.6 | Accesibility | The web application must pass the AA level in Achecker | Low | High | QS.7 | Efficiency | The system will have a response time of less than 0.5 seconds. | Low| Very High |=== diff --git a/docs/12_glossary.adoc b/docs/12_glossary.adoc index ca4587c..714a206 100644 --- a/docs/12_glossary.adoc +++ b/docs/12_glossary.adoc @@ -46,7 +46,7 @@ Potentially more columns in case you need translations. | JavaScript| A programming language used both on the client side and on the server side. JavaScript allows the interaction between web pages. | Express| A web application framework for Node.js used for building web and mobile applications. | Merge branches| The process of incorporating any changes in a branch to another branch. -| link:https://www.tawdis.net/[tawdis.net] | Webpage that allow as to check webpage accessibility using level AA +| link:https://achecker.achecks.ca/checker[Achecker] | Webpage that allow as to check webpage accessibility using level AA | dotenv | Library from npm used to get environment variables that should not be exposed to the public. API keys, passwords, database links, ports... In this way .env files should not be in the repository in GitHub | mui | Npm library used to optimize the development of GUI. It gives us a lot of improvements while creating buttons, panels and many other things. The link to the webpage can be found link:https://mui.com/[here]. | mongodb | Official mongodb driver for Node.js. Usage documentation can be found in this link:https://www.npmjs.com/package/mongodb[webpage].