Skip to content

Commit

Permalink
Added the documentation changes to this branch cause they were is ano…
Browse files Browse the repository at this point in the history
…ther one
  • Loading branch information
Mister-Mario committed Mar 30, 2024
1 parent eb18441 commit 02a70ea
Show file tree
Hide file tree
Showing 5 changed files with 78 additions and 6 deletions.
Binary file added docs/images/Deployed-Infrastructure.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
56 changes: 55 additions & 1 deletion docs/src/07_deployment_view.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,61 @@ Describe (usually in a combination of diagrams, tables, and text):
For multiple environments or alternative deployments please copy and adapt this section of arc42 for all relevant environments.
****

image::Deployed-Infrastructure.png["Deployed Infrastructure"]

****
component User as "User"
cloud "WIQ" {
rectangle "Azure - Ubuntu - Docker"{
component webapp as "Webapp"{
port 3000
}
rectangle "Internal network"{
database "MongoDB" {
folder "UsersDB" {
[Records]
[Users]
}
frame "QuestionsDB" {
[Questions]
}
}
component gs as "Gateway service"{
port 8000
}
component auths as "Authentication service"{
port 8002
}
component users as "User service"{
port 8001
}
component records as "Record service"{
port 8004
}
component questions as "Question service"{
port 8003
}
component qg as "Question generator"
}
}
}
cloud "Wikidata"
User -[dotted,#green,thickness=3]-> 3000
webapp -[#green,thickness=3]-> 8000
gs -[#red]-> 8002
gs -[#red]-> 8001
gs -[#red]-> 8004
gs -[#red]-> 8003
auths -[#red]-> Users
users -[#red]-> Users
records -[#red]-> Records
questions -[#red]-> Questions
qg -[#red]-> Questions
qg -[dotted]-> Wikidata
****
This diagram shows the infrastructure of our application when deployed.

*TBD*

=== Infrastructure Level 2
Expand All @@ -67,4 +122,3 @@ Here you can include the internal structure of (some) infrastructure elements fr
Please copy the structure from level 1 for each selected element.
****

*TBD*
19 changes: 17 additions & 2 deletions docs/src/09_architecture_decisions.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,23 @@ ifndef::imagesdir[:imagesdir: ../images]
[[section-design-decisions]]
== Architecture Decisions
The application will be carried out following a Microservices architecture. +
The Rest API in charge of comunicating with WikiData will be coded using Java. +
_(More details to de added)_

The service in charge of comunicating with WikiData will be coded using Java.
As the generation of questions is a huge part of our application we will play it safe by using Java, a language where most of the team is "fluent" at. +

The backend will we develop using a combination of SpringBoot, for the question generation, and Express.
The use of SpringBoot was a requirement in order to generate the questions in Java. +

*10/03/24*

We will apply a data share strategy where we will load the questions generated and access them when needed through the backend.
This is done to increase the efficiency, as questions are not generated when needed, and robustness of the application, as we can give service even if Wikidata is down. +

*14/03/24*

We have done a redisign of the architecture of the project where we will implement the whole backend using Express.
This was done to have a more homogeneus backend as we have de-coupled the question generation from the backend and we dont need all to be Java. +


[role="arc42help"]
****
Expand Down
6 changes: 3 additions & 3 deletions docs/src/11_technical_risks.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ In decision-making processes, we often face constraints. These constraints, know

### Risks

There is the table of risks the team is taking for development purposes ordered by priority.
There is the table of risks the team is taking for development purposes.

[options="header",cols="^.^1,2,2"]
|===
|Risk|Explanation|Solution
| *Insufficient knowledge of React* | None of our team members worked with React before. | The people who's going to work on React are going to learn it.
| *Insufficient knowledge of Tecnologies* | None of our team members worked with React nor Express nor MongoDB before. | The people who's going to work on these technologies are going to learn it which trades time for a better application as we use stronger technologies (React instead of HTML).
| *Working with a team* | It might be difficult working with people on projects, as every person has their own way of doing things. | Have weekly meetings deciding on what's going to get solved, how and by whom, keeping bus factor in mind.
| *Time* | It should be kept in mind that the team has deadlines with different requirements, demanding them to work regularly. | Have better time-management skills, keep track of and help each other to not waste any time on hard / complex parts of the project.
|===
Expand All @@ -44,5 +44,5 @@ There is the table of technical debt shortcuts the team is taking sacrificing lo
[options="header",cols="^.^1,3"]
|===
|Technical debt|Explanation
| *Azure* | The team has experience with Microsoft Azure and decided to use it again. The full implementation is not planned yet.
| *CORS* | The team has fully enabled CORS through the backend this is a risk as external users can access endpoints like adduser
|===
3 changes: 3 additions & 0 deletions docs/src/12_glossary.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,7 @@ See https://docs.arc42.org/section-12/[Glossary] in the arc42 documentation.

|*Stakeholder*
|Anyone involved in the development process of the system, or that is affected by it somehow.

|*CORS*
|CORS (Cross-Origin Resource Sharing) is a mechanism that allows resources on a web page to be requested from another domain outside the domain from which the resource originated.
|===

0 comments on commit 02a70ea

Please sign in to comment.