uprm-inso4101-2024-2025-s1 / semester-project-regiupr

semester-project-regiupr created by GitHub Classroom
8 stars 2 forks source link

[Lecture Topic Task] Using diagrams to conceptualize how to implement the Multi-language Support functionality #174

Closed cristianMarcial closed 1 day ago

cristianMarcial commented 2 weeks ago

Description

A dstate diagram, will be used to show the structure between the modules or event that will be created or modified to enable Multi-language Support.

Objective

In order to modify the application to include the functionality of changing the application language, we need to be clear about the relationship between [...]

[...] in order to have a clear plan about what we need to modify.

And of course, what is described in this diagram is not the current structure of the application, but the one we are looking to create. For example, this diagram could show the implementation of a future module or functionality to be created that refreshes the page when you change the language, and it would show how this relates to the components of the application to carry out its action.

Requirements

The created state diagram shows the structure between the modules and event that enable or will enable the Multi-language Support functionality.

Time Constrains & Deadline

It's preferable that we have this done by the end of the weekend so that we can use this diagram to work with the stipulated app structure on the next week. Deadline: 2024-11-18

Difficulty

5, since it needed knowing how to manage state diagrams

Priority

7, since we need this in our team to have a general understanding on the tasks we are going to do.

Suggested Asignees

@cristianMarcial, @keisanabria

cristianMarcial commented 3 days ago

Untitled diagram-2024-11-26-033903

cristianMarcial commented 3 days ago

Diagram showing the relationship between screen modules with a focus on their relationships with the language module

cristianMarcial commented 2 days ago

Update: M3_174_diagram

cristianMarcial commented 2 days ago

Untitled diagram-2024-11-27-192626

Description (old)

This diagram shows how the modules relate to each other with the 'language.py' module creating the functionality of being able to change the language displayed in the interface by interacting with the modules that compose it. In both scenarios, an instance is shown in which the module where the button that enables the functionality is visible (which are login and profile), the user can either move to another state where the button is not visible, or can change the language, which will cause the modules in each scenario to reload. The screen modules shown here are Profile, Main Menu and Login; the term othermodules represents other screen modules that are also there but are not relevant to the functionality (e.g. Main Menu is relevant because even though the language change button is invisible in it, it is an input module). The show[module] functions were omitted in the second scenario to avoid redundancy and display issues.

Updated description:

This diagram shows how the modules relate to each other with the 'language.py' module creating the functionality of being able to change the name inside the variable with the name of the language to be displayed in the interface inside the 'language' module, module that fetch the translated UI content strings & and returns them so the screen modules can use them. In both scenarios, an instance is shown where the module where the button that enables the functionality is visible (which are login and profile), the user can either move to another state where the button is not visible, or can change the language, which will cause the modules in each scenario to reload. The screen modules shown here are Profile, Main Menu and Login; the term other_modules represents other screen modules that are also there but are not relevant to the functionality (e.g. Main Menu is relevant because even though the language change button is invisible in it, it is an input module).

The show_[module] functions were omitted in the second scenario to avoid redundancy and display issues.

cristianMarcial commented 2 days ago

@keisanabria thoughts on the description?

keisanabria commented 1 day ago

Hi! I think the diagram and description are on the right track but need to incorporate data management and planned changes more explicitly to fully meet the requirements.

What the Diagram Misses:

Recommendations to Fully Resolve the Issue: