diff --git a/docs/src/12_glossary.adoc b/docs/src/12_glossary.adoc index e3c78be7..55dce777 100644 --- a/docs/src/12_glossary.adoc +++ b/docs/src/12_glossary.adoc @@ -3,42 +3,40 @@ ifndef::imagesdir[:imagesdir: ../images] [[section-glossary]] == Glossary -ifdef::arc42help[] -[role="arc42help"] -**** -.Contents -The most important domain and technical terms that your stakeholders use when discussing the system. - -You can also see the glossary as source for translations if you work in multi-language teams. - -.Motivation -You should clearly define your terms, so that all stakeholders - -* have an identical understanding of these terms -* do not use synonyms and homonyms - - -.Form - -A table with columns and . - -Potentially more columns in case you need translations. - - -.Further Information - -See https://docs.arc42.org/section-12/[Glossary] in the arc42 documentation. - -**** -endif::arc42help[] - [cols="e,2e" options="header"] |=== |Term |Definition - -| -| - -| -| -|=== +| arc42 | A template for documenting software and system architecture, used in this project (Version 8.2 EN, January 2023), created by Hruschka, Starke, et al. +| Frontend | The web-based user interface of the application, built using React.js, responsible for presenting questions, collecting answers, and displaying feedback. +| Backend | The server-side component of the system, built using Node.js and Express, handling API requests, game logic, and data management. +| Large Language Model (LLM) | An external AI model (e.g., via Groq API) integrated into the system to generate hints for quiz questions, aiming to avoid hallucinations or incorrect responses. +| Wikidata | A free, collaborative knowledge base providing structured data, used by the system to automatically generate quiz questions and answers. +| API | Application Programming Interface; a set of rules allowing communication between software components, e.g., RESTful APIs for user data and question creation. +| Question Generation | The process of automatically creating quiz questions, correct answers, and distractors using data retrieved from Wikidata. +| Hints | Contextual assistance provided to users during gameplay, generated by the LLM via an API call, based on the question or user input. +| Distractors | Incorrect answer options presented alongside the correct answer in quiz questions to challenge the user. +| Game Modes | Different gameplay variations, e.g., “Each wise man with his subject,” “Travel with us,” or “The hot question,” offering diverse user experiences. +| Scalability | The system’s ability to handle a large number of simultaneous users without performance degradation, a key quality goal. +| Reliability | The system’s robustness in handling failures (e.g., LLM API downtime) while maintaining a seamless user experience, a key quality goal. +| Usability | The ease with which users can navigate and interact with the application, ensuring an intuitive and engaging experience, a key quality goal. +| Performance | The system’s ability to provide fast responses (e.g., <1s for hints, <3s for question generation), a key quality goal. +| Security | The protection of user data through encryption, authentication, and compliance with GDPR, a key quality goal. +| User Gateway | A backend service handling user-related API requests, such as authentication and data retrieval, ensuring secure and efficient user management. +| Game Service | A backend service managing game logic, question presentation, and interaction with external APIs (Wikidata and LLM). +| MongoDB | A NoSQL database used to store user data, game progress, and question history in JSON format, supporting scalability and flexibility. +| React.js | A JavaScript library used for building the responsive and dynamic frontend of the web application. +| Node.js | A runtime environment for executing JavaScript on the server side, powering the backend of the application. +| Express.js | A web framework for Node.js, used to manage client requests and define RESTful API endpoints in the backend. +| Bcrypt | A library used for hashing and encrypting user passwords to ensure secure storage and authentication. +| Docker | A containerization platform used to deploy the application’s services (e.g., frontend, backend, database) in isolated, reproducible environments. +| Oracle Cloud Infrastructure (OCI) | The cloud platform hosting the application, selected for its free tier and sufficient performance for production deployment. +| RESTful API | A style of API design using HTTP methods (e.g., GET, POST) for communication between the frontend, backend, and external services. +| SPARQL | A query language used to retrieve structured data from Wikidata for question generation. +| Internationalization (i18n) | An optional feature allowing the application to support multiple languages, enhancing accessibility for diverse users. +| CRUD Operations | Create, Read, Update, Delete operations managed by the User CRUD Service for handling user data in the database. +| Gateway Service | The central entry point for routing external and internal API requests, ensuring security and load balancing. +| Players | End-users of the application who register, login, and participate in the quiz game, expecting an enjoyable and dynamic experience. +| Administrators | Users responsible for managing game content, monitoring system performance, and maintaining integrity, typically from ChattySw or RTVE. +| Cloud Deployment | The practice of hosting the application on a cloud infrastructure (e.g., OCI) to ensure availability, scalability, and ease of maintenance. +| Hallucinations | Incorrect or fabricated responses generated by the LLM, which the system aims to mitigate when providing hints. +|=== \ No newline at end of file