Skip to content

Commit

Permalink
Updates
Browse files Browse the repository at this point in the history
  • Loading branch information
uo282189 committed Feb 12, 2024
1 parent 3413ae9 commit f679a29
Show file tree
Hide file tree
Showing 2 changed files with 142 additions and 88 deletions.
Binary file modified images/Sequence diagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
230 changes: 142 additions & 88 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -459,9 +459,9 @@ <h1><span class="image"><img src="./images/arc42-logo.png" alt="arc42"></span> T
</ul>
</li>
<li><a href="#section-solution-strategy">4. Solution Strategy</a></li>
<li><a href="#section-building-block-view">5. Building Block View</a>
<li><a href="#section-building-block-view">5. Building Block View (In progress)</a>
<ul class="sectlevel2">
<li><a href="#_whitebox_overall_system">5.1. Whitebox Overall System</a></li>
<li><a href="#_whitebox_wiq">5.1. Whitebox WIQ</a></li>
<li><a href="#_level_2">5.2. Level 2</a></li>
<li><a href="#_level_3">5.3. Level 3</a></li>
</ul>
Expand All @@ -482,11 +482,9 @@ <h1><span class="image"><img src="./images/arc42-logo.png" alt="arc42"></span> T
</li>
<li><a href="#section-concepts">8. Cross-cutting Concepts</a>
<ul class="sectlevel2">
<li><a href="#_domain_model">8.1. Domain model</a></li>
<li><a href="#_user_interface">8.2. User interface</a></li>
<li><a href="#_security">8.3. Security</a></li>
<li><a href="#_testability">8.4. Testability</a></li>
<li><a href="#_development_concepts">8.5. Development concepts</a></li>
<li><a href="#_concept_1">8.1. <em>&lt;Concept 1&gt;</em></a></li>
<li><a href="#_concept_2">8.2. <em>&lt;Concept 2&gt;</em></a></li>
<li><a href="#_concept_n">8.3. <em>&lt;Concept n&gt;</em></a></li>
</ul>
</li>
<li><a href="#section-design-decisions">9. Architecture Decisions</a></li>
Expand Down Expand Up @@ -801,24 +799,10 @@ <h3 id="_business_context">3.1. Business Context</h3>
</div>
</div>
<div class="paragraph">
<p>In our business setting, we have developed a web application called WIQ, where users engage in a question-based game.
This application draws inspiration from the renowned Spanish television program "Saber y Ganar," providing users with an interactive and entertaining experience.</p>
<p><strong>&lt;Diagram or Table&gt;</strong></p>
</div>
<div class="ulist">
<ul>
<li>
<p>Users authenticate themselves within the system using their personal information.</p>
</li>
<li>
<p>The application offers a question-based game similar to "Saber y Ganar" .</p>
</li>
<li>
<p>The primary objective of the project is to provide an interactive and enjoyable platform for users to engage in question and answer contests, promoting both entertainment and learning.</p>
</li>
<li>
<p>Users have access to various metrics regarding their participation, including the number of games played, correct and incorrect answers, and time spent on each question.</p>
</li>
</ul>
<div class="paragraph">
<p><strong>&lt;optionally: Explanation of external domain interfaces&gt;</strong></p>
</div>
</div>
<div class="sect2">
Expand All @@ -840,41 +824,15 @@ <h3 id="_technical_context">3.2. Technical Context</h3>
</div>
</div>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 66.6667%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Technologies</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">JavaScript</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">A fundamental programming language for web development. It&#8217;s used to create logic and interactivity in web and mobile applications.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">React</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">A JavaScript framework used to build interactive and dynamic user interfaces. It&#8217;s especially popular for developing single-page applications (SPAs).</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">MongoDB</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">A NoSQL database that uses JSON documents to store data. It&#8217;s widely used in web and mobile applications, especially those requiring flexible and fast scalability.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">NodeJS</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">JavaScript runtime environment</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Docker</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">A container platform that simplifies the deployment and management of applications. It allows packaging an application and all its dependencies into lightweight,
portable containers, making it easy to deploy across different development and production environments.</p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p><strong>&lt;Diagram or Table&gt;</strong></p>
</div>
<div class="paragraph">
<p><strong>&lt;optionally: Explanation of technical interfaces&gt;</strong></p>
</div>
<div class="paragraph">
<p><strong>&lt;Mapping Input/Output to Channels&gt;</strong></p>
</div>
<div style="page-break-after: always;"></div>
</div>
</div>
Expand Down Expand Up @@ -927,7 +885,7 @@ <h2 id="section-solution-strategy">4. Solution Strategy</h2>
</div>
</div>
<div class="sect1">
<h2 id="section-building-block-view">5. Building Block View</h2>
<h2 id="section-building-block-view">5. Building Block View (In progress)</h2>
<div class="sectionbody">
<div class="sidebarblock arc42help">
<div class="content">
Expand Down Expand Up @@ -975,7 +933,7 @@ <h2 id="section-building-block-view">5. Building Block View</h2>
</div>
</div>
<div class="sect2">
<h3 id="_whitebox_overall_system">5.1. Whitebox Overall System</h3>
<h3 id="_whitebox_wiq">5.1. Whitebox WIQ</h3>
<div class="sidebarblock arc42help">
<div class="content">
<div class="paragraph">
Expand Down Expand Up @@ -1021,11 +979,17 @@ <h3 id="_whitebox_overall_system">5.1. Whitebox Overall System</h3>
<dl>
<dt class="hdlist1">Motivation</dt>
<dd>
<p><em>&lt;text explanation&gt;</em></p>
<p>The motivation for undertaking this decomposition is to gain a clear vision of the system developed for the WIQ application.
By breaking down the system into its constituent building blocks, we aim to establish a comprehensive understanding of its structure and functionality.</p>
</dd>
<dt class="hdlist1">Contained Building Blocks</dt>
<dd>
<p><em>&lt;Description of contained building block (black boxes)&gt;</em></p>
<p><em>&lt;Description of contained building block (black boxes)&gt;</em>
User Interface (Frontend)
Business Logic (Backend)
Database
API User
API Questions</p>
</dd>
<dt class="hdlist1">Important Interfaces</dt>
<dd>
Expand Down Expand Up @@ -1056,11 +1020,11 @@ <h3 id="_whitebox_overall_system">5.1. Whitebox Overall System</h3>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><em>&lt;black box 1&gt;</em></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"> <em>&lt;Text&gt;</em></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><em>&lt;Text&gt;</em></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><em>&lt;black box 2&gt;</em></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"> <em>&lt;Text&gt;</em></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><em>&lt;Text&gt;</em></p></td>
</tr>
</tbody>
</table>
Expand All @@ -1071,7 +1035,7 @@ <h3 id="_whitebox_overall_system">5.1. Whitebox Overall System</h3>
</div>
</div>
<div class="sect3">
<h4 id="_name_black_box_1">5.1.1. &lt;Name black box 1&gt;</h4>
<h4 id="_name_black_box_1user_interface">5.1.1. &lt;Name black box 1&gt;User Interface</h4>
<div class="sidebarblock arc42help">
<div class="content">
<div class="paragraph">
Expand Down Expand Up @@ -1106,6 +1070,9 @@ <h4 id="_name_black_box_1">5.1.1. &lt;Name black box 1&gt;</h4>
<p><em>&lt;Purpose/Responsibility&gt;</em></p>
</div>
<div class="paragraph">
<p>Provides the interface to register, play and check participation history</p>
</div>
<div class="paragraph">
<p><em>&lt;Interface(s)&gt;</em></p>
</div>
<div class="paragraph">
Expand All @@ -1122,25 +1089,53 @@ <h4 id="_name_black_box_1">5.1.1. &lt;Name black box 1&gt;</h4>
</div>
</div>
<div class="sect3">
<h4 id="_name_black_box_2">5.1.2. &lt;Name black box 2&gt;</h4>
<h4 id="_name_black_box_2business_logic">5.1.2. &lt;Name black box 2&gt;Business Logic</h4>
<div class="paragraph">
<p><em>&lt;Purpose/Responsibility&gt;</em></p>
</div>
<div class="paragraph">
<p>Automatically generate questions and corresponding answers from Wikidata data.
Manages the time frame allocated for answering questions.</p>
</div>
<div class="paragraph">
<p>&#8230;&#8203;</p>
</div>
</div>
<div class="sect3">
<h4 id="_name_black_box_3_database">5.1.3. &lt;Name black box 3&gt; Database</h4>
<div class="paragraph">
<p><em>&lt;Purpose/Responsibility&gt;</em></p>
</div>
<div class="paragraph">
<p>Stores information about users, games, questions and correct/failed answers.</p>
</div>
</div>
<div class="sect3">
<h4 id="_name_black_box_4_api_user">5.1.4. &lt;Name black box 4&gt; API User</h4>
<div class="paragraph">
<p><em>&lt;Purpose/Responsibility&gt;</em></p>
</div>
<div class="paragraph">
<p><em>&lt;black box template&gt;</em></p>
<p>The system will allow access to user information through an API.</p>
</div>
</div>
<div class="sect3">
<h4 id="_name_black_box_n">5.1.3. &lt;Name black box n&gt;</h4>
<h4 id="_name_black_box_5_api_questions">5.1.5. &lt;Name black box 5&gt; API Questions</h4>
<div class="paragraph">
<p><em>&lt;Purpose/Responsibility&gt;</em></p>
</div>
<div class="paragraph">
<p><em>&lt;black box template&gt;</em></p>
<p>The system will allow access to the information of the questions generated through an API.</p>
</div>
</div>
<div class="sect3">
<h4 id="_name_interface_1">5.1.4. &lt;Name interface 1&gt;</h4>
<h4 id="_name_interface_1">5.1.6. &lt;Name interface 1&gt;</h4>
<div class="paragraph">
<p>&#8230;&#8203;</p>
</div>
</div>
<div class="sect3">
<h4 id="_name_interface_m">5.1.5. &lt;Name interface m&gt;</h4>
<h4 id="_name_interface_m">5.1.7. &lt;Name interface m&gt;</h4>

</div>
</div>
Expand All @@ -1159,7 +1154,7 @@ <h3 id="_level_2">5.2. Level 2</h3>
</div>
</div>
<div class="sect3">
<h4 id="_white_box_building_block_1">5.2.1. White Box <em>&lt;building block 1&gt;</em></h4>
<h4 id="_white_box_building_block_1_components">5.2.1. White Box <em>&lt;building block 1&gt;</em> Components&#8230;&#8203;</h4>
<div class="sidebarblock arc42help">
<div class="content">
<div class="paragraph">
Expand All @@ -1172,7 +1167,7 @@ <h4 id="_white_box_building_block_1">5.2.1. White Box <em>&lt;building block 1&g
</div>
</div>
<div class="sect3">
<h4 id="_white_box_building_block_2">5.2.2. White Box <em>&lt;building block 2&gt;</em></h4>
<h4 id="_white_box_building_block_2_services">5.2.2. White Box <em>&lt;building block 2&gt;</em> Services&#8230;&#8203;</h4>
<div class="paragraph">
<p><em>&lt;white box template&gt;</em></p>
</div>
Expand All @@ -1181,7 +1176,7 @@ <h4 id="_white_box_building_block_2">5.2.2. White Box <em>&lt;building block 2&g
</div>
</div>
<div class="sect3">
<h4 id="_white_box_building_block_m">5.2.3. White Box <em>&lt;building block m&gt;</em></h4>
<h4 id="_white_box_building_block_m_model">5.2.3. White Box <em>&lt;building block m&gt;</em> Model&#8230;&#8203;</h4>
<div class="paragraph">
<p><em>&lt;white box template&gt;</em></p>
</div>
Expand Down Expand Up @@ -1575,26 +1570,25 @@ <h2 id="section-concepts">8. Cross-cutting Concepts</h2>
</div>
</div>
<div class="sect2">
<h3 id="_domain_model">8.1. Domain model</h3>

<h3 id="_concept_1">8.1. <em>&lt;Concept 1&gt;</em></h3>
<div class="paragraph">
<p><em>&lt;explanation&gt;</em></p>
</div>
</div>
<div class="sect2">
<h3 id="_user_interface">8.2. User interface</h3>
<h3 id="_concept_2">8.2. <em>&lt;Concept 2&gt;</em></h3>
<div class="paragraph">
<p>The user interface is the part of our application with which users interact directly.
It&#8217;s designed to be intuitive and easy to use, providing a smooth and pleasant experience for users as they navigate through the various functions and features of the application.</p>
<p><em>&lt;explanation&gt;</em></p>
</div>
<div class="paragraph">
<p>&#8230;&#8203;</p>
</div>
<div class="sect2">
<h3 id="_security">8.3. Security</h3>

</div>
<div class="sect2">
<h3 id="_testability">8.4. Testability</h3>

<h3 id="_concept_n">8.3. <em>&lt;Concept n&gt;</em></h3>
<div class="paragraph">
<p><em>&lt;explanation&gt;</em></p>
</div>
<div class="sect2">
<h3 id="_development_concepts">8.5. Development concepts</h3>
<div style="page-break-after: always;"></div>
</div>
</div>
Expand Down Expand Up @@ -1646,6 +1640,66 @@ <h2 id="section-design-decisions">9. Architecture Decisions</h2>
</div>
</div>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 40%;">
<col style="width: 40%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Date</th>
<th class="tableblock halign-left valign-top">Title</th>
<th class="tableblock halign-left valign-top">Decision</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Explanation</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">08/02/2024</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Language Selection</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">English</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">English is chosen for its widespread international use</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">08/02/2024</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Programming Languages</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">React and Javascript</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">JavaScript is selected due to team proficiency, especially for API usage</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">08/02/2024</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Database Platform</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">MongoDB</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">MongoDB is opted for as the default database solution</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">08/02/2024</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Version Control System</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Git-GitHub</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Git-GitHub is preferred for its familiarity and utility</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">08/02/2024</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Data Collection Method</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">WikiData</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The choice of WikiData is dictated by project constraints</p></td>
</tr>
</tbody>
</table>
<div class="dlist">
<dl>
<dt class="hdlist1">Consequences</dt>
<dd>
<p>As a team, we recognize the need to familiarize ourselves with React, MongoDB, and Wikidata, as most of us are not yet proficient in their usage.
We are committed to investing the necessary time and effort to acquire the requisite skills and expertise in utilizing these technologies effectively for our project&#8217;s success.</p>
</dd>
</dl>
</div>
<div style="page-break-after: always;"></div>
</div>
</div>
Expand Down Expand Up @@ -1846,7 +1900,7 @@ <h2 id="section-glossary">12. Glossary</h2>
<div id="footer">
<div id="footer-text">
Version 8.2 EN<br>
Last updated 2024-02-03 14:20:08 +0100
Last updated 2024-02-12 22:43:36 +0100
</div>
</div>
</body>
Expand Down

0 comments on commit f679a29

Please sign in to comment.