Skip to content

Commit

Permalink
doc actualizado (#213)
Browse files Browse the repository at this point in the history
  • Loading branch information
SofiaYYQ authored May 4, 2022
1 parent 1ac1610 commit d700b91
Show file tree
Hide file tree
Showing 6 changed files with 9 additions and 34 deletions.
4 changes: 2 additions & 2 deletions docs/01_introduction_and_goals.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ package ArquiSocks {
}
database Database
cloud SolidPod
database SolidPod
cloud MapsAPI
client --> viewProducts
Expand Down Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion docs/04_solution_strategy.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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.
|===
Expand Down
4 changes: 2 additions & 2 deletions docs/07_deployment_view.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ rectangle Website
}
}
node "Web server (Heroku)" as webserver{
node "Web server (Heroku and Azure)" as webserver{
component "<<execution enviroment>> \n DeDe_FrontEnd"{
node WebApp
}
Expand Down Expand Up @@ -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.
Expand Down
27 changes: 1 addition & 26 deletions docs/08_concepts.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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]

Expand All @@ -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.

* _<more>_

=== Availability
To achieve high availability:

Expand All @@ -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
_<can be added later>_

=== "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.

Expand All @@ -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
_<can be added later>_

==== Management
_<can be added later >_

==== 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
_<can be added later>_
* Developers do not have to deal with passwords.
4 changes: 2 additions & 2 deletions docs/10_quality_scenarios.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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

|===
Expand Down
2 changes: 1 addition & 1 deletion docs/12_glossary.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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].
Expand Down

0 comments on commit d700b91

Please sign in to comment.