Skip to content

Commit

Permalink
Merge pull request #13 from Arquisoft/Doc-4.Solution_Strategy
Browse files Browse the repository at this point in the history
Doc 4. Solution strategy
  • Loading branch information
uo294258 authored Feb 10, 2025
2 parents b59044f + d92a3c7 commit 55ed0fa
Showing 1 changed file with 14 additions and 24 deletions.
38 changes: 14 additions & 24 deletions docs/src/04_solution_strategy.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,22 @@ ifndef::imagesdir[:imagesdir: ../images]
[[section-solution-strategy]]
== Solution Strategy

We develop an application of questions, like 'Saber y Ganar', in which the main objetive is to comunicate with a chatbot to obtain some hints for answer correctly each question.

ifdef::arc42help[]
[role="arc42help"]
****
.Contents
A short summary and explanation of the fundamental decisions and solution strategies, that shape system architecture. It includes
We start from a ready-make application, which condition us when making some of the technical decisions.

* technology decisions
* decisions about the top-level decomposition of the system, e.g. usage of an architectural pattern or design pattern
* decisions on how to achieve key quality goals
* relevant organizational decisions, e.g. selecting a development process or delegating certain tasks to third parties.
.Technologies used:
* JavaScript: JavaScript is a very flexible programming language widely used in software development. Besides, we decided to continue with this language due to the base application.
* Node.js: Node.js is used to create server-side applications with JavaScript, so we decided to use it to make the back-end of our web app.
* MongoDB: MongoDB is an open-source NoSQL database that uses a document-based data model for information storage and retrieval. Again its use is mainly due to the legacy project.
* React JS: It's a framework widely used to create user interface components. Chosen for the large volume of documentation and the fact that it is the framework used during the previous app.

.Motivation
These decisions form the cornerstones for your architecture. They are the foundation for many other detailed decisions or implementation rules.
=== Decissions made to achieve quality goals
* *Usability*: Although usability is already guaranteed by the developers of the base application, we will try to make interaction with the chatbot simple so that it remains that way.
* *Maintainability*: The entire team is committed to making clean and well-structured code, along with adequate documentation to enable good maintainability of the project.
* *Accessibility*: In the event of making any changes that affect the accessibility of the application, we will ensure that it complies with the appropriate accessibility standards.

.Form
Keep the explanations of such key decisions short.
=== Relevant organizational decisions
* Communication between team members is mostly made through Github, using issues to create and assign tasks, Whatsapp, to ask the rest of the team for help if needed for quick advice, and meetings.
* For the tasks to be performed, we have decided to implement an author-reviewer mechanic to avoid a single person being in charge of a part of the application and minimize large avoidable errors.

Motivate what was decided and why it was decided that way,
based upon problem statement, quality goals and key constraints.
Refer to details in the following sections.
.Further Information
See https://docs.arc42.org/section-4/[Solution Strategy] in the arc42 documentation.
****
endif::arc42help[]

0 comments on commit 55ed0fa

Please sign in to comment.