Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes to point 2 -> Arquitecture constraints #23

Merged
merged 4 commits into from
Feb 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions docs/src/02_architecture_constraints.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,34 @@ ifndef::imagesdir[:imagesdir: ../images]
[[section-architecture-constraints]]
== Architecture Constraints

When designing the WIQ application, there are several constraints that must be taken into consideration, as they will have a significant impact on the overall design of the application and the architectural decisions. These constraints must be considered in order to ensure that the final product meets the needs and expectations of the users and stakeholders. The following table summarizes these constraints and provides a brief explanation for each one divided into technical, organizational and political constraints.

=== Technical constraints
|===
|Constraint|Explanation
| WikiData | Our application must generate questions automatically getting data from WikiData
| Docker | We are using docker for the deployment.It's a platform that allows you to package Our application and its dependencies into a standardized unit called a container.
| Azure | Azure is a cloud computing platform where we are going to host our WIQ application
| Version control and monitoring (GitHub) | For the WIQ application, GitHub is a useful tool for version control and collaboration among the team members working on the project. It allows easier coordination and organization of the development process, as well as keeping track of changes and contributions made by each team member.
| User Experience | The design of the application must make its use friendly and easy
| Test coverage | Code must meet a good test quality and coverage to ensure the expected outcome.
|===

=== Organizational constraints
|===
|Constraint|Explanation
| Team | The project will be done in a team composed of 7 students, so work must be assigned accordingly.
| Git-based development | The project will be built around the Git workflow, so all tools used must be able to closely interact with this system.
| Meetings | The project’s development process must be reflected in the minutes of each meeting that happens.
| Delivery deadlines | There are 4 deliverables every 3 weeks that should be followed accordingly before the deployment of the application
|===

=== Political constraints
|===
|Constraint|Explanation
| Documentation | We are going to use AsciiDoc and follow the Arc42 template.
| Language | The documentation and application will be developed in English.
|===

[role="arc42help"]
****
Expand Down
22 changes: 22 additions & 0 deletions docs/src/09_architecture_decisions.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,28 @@ ifndef::imagesdir[:imagesdir: ../images]
[[section-design-decisions]]
== Architecture Decisions

Along the process of developing the application, decisions had to be taken as problems arise.
These are the initial decicision that we have made but they change during the course of the project
The following table contains some of the design decisions that were imposed to us due to the architectural constraints:

.Imposed decisions
|===
|Code|Decision|Advantages|Disadvantages
|ID1| React.js or Svelte | Quite easy to learn in comparison to other front-end libraries. Increasingly popular in the web.|Not all of us know about its usage
|ID2| MongoDB | It does not need to be started manually. Free and easy to understand|We are quite new with MongoDB.
|ID3| Docker | Fast deployment, ease of moving/maintaining your applications. Easy as we already have DockerFiles example|We do not have much experience using Docker
|ID4| PlantUML | Allows drawing diagrams very easily, with a simple syntax.|Does not allow as much control over the exact layout of the elements in the diagram as other tools.
|===

.Architectural Records
|===
|Code |Context |Record

|ADR1 | TBD | TBD

|ADR2 | TBD | TBD

|===

[role="arc42help"]
****
Expand Down