From ab2b219b523d330022e0bc11cfaff8284ebd75e5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 27 Apr 2024 00:12:31 +0000 Subject: [PATCH] Updates --- images/Whitebox-overall.png | Bin 24397 -> 25544 bytes images/level2.png | Bin 20833 -> 21328 bytes index.html | 235 ++---------------------------------- 3 files changed, 7 insertions(+), 228 deletions(-) diff --git a/images/Whitebox-overall.png b/images/Whitebox-overall.png index 3540c60e775d25ebfe0d1e7e5cbe6da535034110..5b7d57c6271ec8a91b3535c899c38cfc681a2b7d 100644 GIT binary patch literal 25544 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 literal 24397 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 z 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 diff --git a/index.html b/index.html index 05aca43e..54cb5aed 100644 --- a/index.html +++ b/index.html @@ -510,20 +510,6 @@

wiq-image
  • 11. Risks and Technical Debts
  • 12. Glossary
  • -
  • 13. Question Generation Strategy - -
  • -
  • 14. Testing - -
  • @@ -900,7 +886,7 @@

    5.1. Whitebox Overall System

    -Whitebox overall +Whitebox overall
    @@ -955,22 +941,22 @@

    5.2. Level 2

    • -

      GameService: This component acts as the core of the QuestionGame, orchestrating the flow of games, managing question selection, enforcing game rules, and tracking scores. It ensures that gameplay proceeds smoothly and according to the predefined logic, offering a seamless experience for the user.

      +

      Game Logic: This component acts as the core of the QuestionGame, orchestrating the flow of games, managing question selection, enforcing game rules, and tracking scores. It ensures that gameplay proceeds smoothly and according to the predefined logic, offering a seamless experience for the user.

    • -

      PlayerService: Responsible for handling user accounts, this component manages registration, authentication, and profile management. It safeguards user data while providing a personalized experience through game history tracking and preference settings.

      +

      User Account Management: Responsible for handling user accounts, this component manages registration, authentication, and profile management. It safeguards user data while providing a personalized experience through game history tracking and preference settings.

    • -

      QuestionService: This component interacts directly with the Wikidata service to fetch data for question generation. It processes and curates content to produce relevant, challenging questions for the game, thereby ensuring a varied and educational experience.

      +

      Question Management: This component interacts directly with the Wikidata service to fetch data for question generation. It processes and curates content to produce relevant, challenging questions for the game, thereby ensuring a varied and educational experience.

    • -

      RestApiService: Serving as the gateway for external developers, this component exposes a set of RESTful APIs that allow access to player information and question data. It handles request processing, authentication, and data delivery, facilitating third-party integrations and extensions of the WIQ platform.

      +

      API Management: Serving as the gateway for external developers, this component exposes a set of RESTful APIs that allow access to player information and question data. It handles request processing, authentication, and data delivery, facilitating third-party integrations and extensions of the WIQ platform.

    -level2 +level2
    @@ -1492,220 +1478,13 @@

    12. Glossary

    -
    - - -
    -

    13. Question Generation Strategy

    -
    -
    -

    The generation of questions in our application is handled through a combination of classes and interfaces, primarily QuestionGeneratorV2 and QuestionGeneratorService.

    -
    -
    -

    13.1. Question templates

    -
    -

    The two classes mentioned before use a JSON file that stores the question templates. These templates are used to generalize the question generation process. The JSON file is structured as follows:

    -
    -
    -

    13.1.1. JSON Structure

    -
    -

    The JSON has the following structure:

    -
    -
    -
      -
    • -

      language_placeholder, question_placeholder, and answer_placeholder are strings used as placeholders for the language, question, and answer, respectively.

      -
    • -
    • -

      categories is an array containing objects representing different categories of questions.

      -
    • -
    -
    -
    -

    Each category object has two properties:

    -
    -
    -
      -
    • -

      name: The name of the category.

      -
    • -
    • -

      questions: An array of objects representing questions within that category.

      -
    • -
    -
    -
    -

    Each question object has the following properties:

    -
    -
    -
      -
    • -

      type: The type of question.

      -
    • -
    • -

      statements: An array of objects representing statements in different languages for the question. Each object has two properties: language and statement.

      -
    • -
    • -

      question: The property queried to generate the question.

      -
    • -
    • -

      answer: The property queried to obtain the answer.

      -
    • -
    • -

      sparqlQuery: The SPARQL query used to retrieve data for generating the question and answer.

      -
    • -
    -
    -
    -
    -

    13.1.2. Compact Example of JSON Hierarchy

    -
    -
    -
    {
    -  "language_placeholder": "[LANGUAGE]",
    -  "question_placeholder": "[QUESTION]",
    -  "answer_placeholder": "[ANSWER]",
    -  "categories": [
    -    {
    -      "name": "Geography",
    -      "questions": [
    -        {
    -          "type": "capital",
    -          "statements": [
    -            {
    -              "language": "es",
    -              "statement": "¿Cuál es la capital de [QUESTION]?"
    -            },
    -            {
    -              "language": "en",
    -              "statement": "What is the capital of [QUESTION]?"
    -            },
    -            {
    -              "language": "fr",
    -              "statement": "Quelle est la capitale de [QUESTION]?"
    -            }
    -          ],
    -          "question": "countryLabel",
    -          "answer": "capitalLabel",
    -          "sparqlQuery": "..."
    -        },
    -        {
    -          "type": "currency",
    -          "statements": [
    -            {
    -              "language": "es",
    -              "statement": "¿Cuál es la moneda de [QUESTION]?"
    -            },
    -            {
    -              "language": "en",
    -              "statement": "What is the currency of [QUESTION]?"
    -            },
    -            {
    -              "language": "fr",
    -              "statement": "Quelle est la monnaie de [QUESTION]?"
    -            }
    -          ],
    -          "question": "countryLabel",
    -          "answer": "currencyLabel",
    -          "sparqlQuery": "..."
    -        }
    -      ]
    -    },
    -    {
    -      "name": "Science",
    -      "questions": [
    -        {
    -          "type": "element",
    -          "statements": [
    -            {
    -              "language": "es",
    -              "statement": "¿Cuál es el símbolo químico del [QUESTION]?"
    -            },
    -            {
    -              "language": "en",
    -              "statement": "What is the chemical symbol of [QUESTION]?"
    -            },
    -            {
    -              "language": "fr",
    -              "statement": "Quel est le symbole chimique du [QUESTION]?"
    -            }
    -          ],
    -          "question": "elementLabel",
    -          "answer": "symbol",
    -          "sparqlQuery": "..."
    -        }
    -      ]
    -    }
    -  ]
    -}
    -
    -
    -
    -
    -
    -

    13.2. Example of a query

    -
    -

    Here’s an example of how you could use this JSON structure to query information:

    -
    -
    -

    To execute a query you just need to build a SPARQL query that retrieves the data you need. For example, to get the capital of a country, you could use the following query:

    -
    -
    -
    -
    select distinct ?country ?countryLabel ?capital ?capitalLabel where {
    -  ?country wdt:P31 wd:Q6256 .
    -  ?capital wdt:P31 wd:Q5119 .
    -  ?country wdt:P36 ?capital .
    -  ?country rdfs:label ?countryLabel .
    -  ?capital rdfs:label ?capitalLabel .
    -  FILTER NOT EXISTS {?country wdt:P31 wd:Q3024240} .
    -  FILTER(LANG(?countryLabel)="es" && LANG(?capitalLabel)="es")
    -  }
    -
    -
    -
    -

    Once you have a query the next step is to add it to thr JSON file. Following the previous example, you should start declaring a new object inside the questions array of the Geography category. You should fill the type, statements, question, answer, and sparqlQuery properties with the appropriate values. For the type field you could add the value "capital", for the statements array you could add the statements in different languages also adding to them the placeholder that you used in the question_placeholder field. For the question field you should add the value "countryLabel", for the answer you should add the value "capitalLabel". For the sparqlQuery field you should replace in your original query every instance of "countryLabel" with the value of question_placeholder and "capitalLabel" with the value of answer_placeholder. The final object should look like the one showed in the JSON hierarchy example.

    -
    -
    -

    By following this approach, you can dynamically generate a wide variety of questions based on the structured data stored in your JSON file. This allows for flexibility and scalability in your question generation process.

    -
    -
    -
    -

    13.3. Question Generation Process

    -
    -

    Once we have the JSON file with the question templates, we can start generating questions. Each time the application starts the QuestionGeneratorService class reads the JSON file and stores the question templates in memory. This way, the application can generate questions without needing to read the file each time. These templates are stored in a synchronized stack, which allows for thread-safe access to the templates. When the application starts after reading the JSON file and storing the templates the QuestionGeneratorService class deletes all the questions that are stored in the database. After deleting the questions, the QuestionGeneratorService starts a cycle that generates all the questions in all the 3 main languages of the app for a specific type of question each two and a half minutes. This cycle is repeated until all the question types are generated. After this every 24 hours the cycle will start again with the parsing of the JSON, filling the Stack, emptying the database and generating the questions. All this process can be forced by an Admin user through the Admin panel in the app where an Admin can change the JSON (which will lead to the restart of the question generation process) or delete all questions.

    -
    -
    -
    -
    -
    -
    -

    14. Testing

    -
    -
    -

    To be able to achieve continuous delivery, we need to have a good test coverage. We need to have a good test coverage to be able to refactor the code without breaking it, to be able to deliver the software with confidence and to be able to deliver the software with quality.

    -
    -
    -

    14.1. Unit Test

    -
    -

    In our project, we have implemented unit tests for various components of the application. The tests are written in Java and use the JUnit 5 framework for testing. We also use the Spring Boot Test framework for testing Spring Boot applications, which provides utilities and annotations to test the application in a way that is very close to its actual runtime behavior. The tests are located in the src/test/java/com/uniovi directory. The main test class is Wiq_UnitTests.java, which contains tests for various services and repositories in our application.

    -
    -
    -
    -

    14.2. Integration Test (E2E)

    - -
    -
    -

    14.3. Load Test

    - -