Skip to content

Commit

Permalink
Merge pull request #10 from Arquisoft/doc-carlos-lavilla
Browse files Browse the repository at this point in the history
First increment for Solution Strategy (documentation)
  • Loading branch information
SergioMulet authored Feb 9, 2025
2 parents b39f909 + eb6063c commit 1b0d823
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 2 deletions.
25 changes: 25 additions & 0 deletions docs/src/04_solution_strategy.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,28 @@ See https://docs.arc42.org/section-4/[Solution Strategy] in the arc42 documentat
****
endif::arc42help[]

In this section we will describe the approach taken to develop the system. First we address the technologies used in the project and then the architecture used.

=== Technologies

The following technologies are used in our project:

* *React*: To build the web application's UI, we will use this technology due to its simplicity and its ability to create reusable components. It has also been chosen as it has a relatively gentle learning curve (as we will be learning while building).
* *NodeJS*: To develop the backend part of the system, we will use NodeJS due to its ease to develop server-side operations (compared to plain JavaScript). Furthermore, it is a well-known technology for this type of projects and it provides some key features that we will need, such as the ability to handle multiple requests at the same time and the fact that it is an event-driven language.
* *MongoDB*: To store the data of the system, we will use MongoDB due to its flexibility and scalability.
* *Docker*: To deploy the system, we will use this technology due to its portability and reliability.
* #TBD# Choose the LLM: We are still deciding which LLM to use. We are considering using one of the following:
** Gemini
** Qwen
** Mistral
* #TBD# Choose the deployment platform: We will probably use a cloud platform to deploy the system, but this will be decided later.
* *Git & GitHub*: For version control and collaboration, we will use Git and GitHub. These tools will enable the team to collaborate efficiently and keep track of changes, issues and documentation.
* #TBD# Elaborate on CI/CD: We will probably use GitHub Actions to automate the CI/CD process, but this will be elaborated later.

=== Architecture

The architecture used in the system will be based on the following parts:

* *Microservices* for the different core functionalities of the system. This way we can develop each service independently and scale them as needed. Additionally, this approach will allow us to use different technologies if needed.
* *Gateway* to allow communication within services, ensuring cohesion in the system.
4 changes: 2 additions & 2 deletions docs/src/12_glossary.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ endif::arc42help[]
|===
|Term |Definition

|<Term-1>
|<definition-1>
|TBD
|To Be Defined

|<Term-2>
|<definition-2>
Expand Down

0 comments on commit 1b0d823

Please sign in to comment.