Skip to content

Commit

Permalink
Merge pull request #29 from Arquisoft/Rama-Bruno
Browse files Browse the repository at this point in the history
Finished Documentation 08 - Cross-cutting Concepts
  • Loading branch information
uo287983 authored Feb 19, 2025
2 parents 087930b + e2e3372 commit 3274da1
Showing 1 changed file with 47 additions and 45 deletions.
92 changes: 47 additions & 45 deletions docs/src/08_concepts.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,72 +3,74 @@ ifndef::imagesdir[:imagesdir: ../images]
[[section-concepts]]
== Cross-cutting Concepts

=== Domain Concepts

ifdef::arc42help[]
[role="arc42help"]
****
.Content
This section describes overall, principal regulations and solution ideas that are relevant in multiple parts (= cross-cutting) of your system.
Such concepts are often related to multiple building blocks.
They can include many different topics, such as
The WIChat system is built around the concept of an interactive question-and-answer game where users receive hints to guess the correct answer. The system integrates data from WikiData and utilizes a Large Language Model (LLM) to generate dynamic hints.

* models, especially domain models
* architecture or design patterns
* rules for using specific technology
* principal, often technical decisions of an overarching (= cross-cutting) nature
* implementation rules
Key domain concepts include:

Users: Participants interacting with WIChat.

.Motivation
Concepts form the basis for _conceptual integrity_ (consistency, homogeneity) of the architecture.
Thus, they are an important contribution to achieve inner qualities of your system.
Questions & Answers: Content dynamically generated from WikiData.

Some of these concepts cannot be assigned to individual building blocks, e.g. security or safety.
Hints: AI-generated assistance to guide users.

Ranking System: Scores and leaderboards to enhance engagement.

.Form
The form can be varied:
=== User Experience (UX) Concepts

* concept papers with any kind of structure
* cross-cutting model excerpts or scenarios using notations of the architecture views
* sample implementations, especially for technical concepts
* reference to typical usage of standard frameworks (e.g. using Hibernate for object/relational mapping)
User experience is a fundamental aspect of WIChat, ensuring seamless interaction and intuitive design.

.Structure
A potential (but not mandatory) structure for this section could be:
Minimalist UI Design: A clean and distraction-free interface.

* Domain concepts
* User Experience concepts (UX)
* Safety and security concepts
* Architecture and design patterns
* "Under-the-hood"
* development concepts
* operational concepts
Real-time Feedback: Immediate responses to user input.

Note: it might be difficult to assign individual concepts to one specific topic
on this list.
Gamification Elements: Leaderboards and achievements to boost user engagement.

image::08-concepts-EN.drawio.png["Possible topics for crosscutting concepts"]
=== Security and Safety Concepts

Security is a critical component of WIChat, ensuring safe interactions and data integrity.

.Further Information
Authentication and Authorization: User authentication through secure protocols.

See https://docs.arc42.org/section-8/[Concepts] in the arc42 documentation.
****
endif::arc42help[]
Input Validation: Preventing injection attacks and ensuring data integrity.

=== _<Concept 1>_

_<explanation>_
=== Architecture and Design Patterns

WIChat follows established software design principles to ensure scalability and maintainability.

Microservices Architecture: Decoupled services to improve scalability.

=== _<Concept 2>_
MVC Pattern: Structuring the web application using Model-View-Controller.

_<explanation>_

...
=== "Under-the-hood" - Technical Implementation

Backend: Implemented using Node.js with Express.

Frontend: Built with React for a dynamic user experience.

Database: MongoDB as the primary data store.

LLM Integration: Empathy AI used for hint generation.

External Data Source: WikiData for retrieving question-related information.

=== Development Concepts

Version Control: Git and GitHub for source code management.

Continuous Integration/Deployment (CI/CD): Automated testing and deployment pipelines.

Code Reviews: Peer reviews to maintain code quality.


=== Operational Concepts

Logging & Monitoring: Centralized logging and performance monitoring tools.

Error Handling: Graceful degradation strategies for unexpected failures.


=== _<Concept n>_

_<explanation>_

0 comments on commit 3274da1

Please sign in to comment.