Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#44 - Finished glossary #75

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 34 additions & 36 deletions docs/src/12_glossary.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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 <Term> and <Definition>.

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

|<Term-1>
|<definition-1>

|<Term-2>
|<definition-2>
|===
| 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.
|===