Skip to content

Commit

Permalink
Merge pull request #103 from Arquisoft/documentation_sergiot
Browse files Browse the repository at this point in the history
Updating documentation
  • Loading branch information
angelmaciasr authored Mar 13, 2024
2 parents cd27d40 + 013d045 commit 13137f1
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 17 deletions.
Binary file removed docs/images/10-Quality-Tree-EN.png
Binary file not shown.
2 changes: 1 addition & 1 deletion docs/src/04_solution_strategy.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,13 @@ See https://docs.arc42.org/section-4/[Solution Strategy] in the arc42 documentat

=== Technologies
* *React*: JavaScript library for web and native user interfaces. It allows developers to create interactive web applications by breaking down the UI into reusable components. React uses a declarative approach to efficiently update and render components, resulting in faster and more maintainable code. It's widely adopted in the industry due to its simplicity, performance, and robustness.
* *Svelte*: modern JavaScript framework that compiles code at build time for efficient updates to the DOM. It emphasizes smaller bundle sizes and better performance, offering a simpler approach to building dynamic web applications compared to traditional frameworks like React or Vue.
* *Node.js*: JavaScript runtime that enables running JavaScript code outside of web browsers. It's renowned for its event-driven architecture and extensive collection of packages, making it ideal for building scalable server-side applications.
+ *Express.js*: Express.js, often simply called Express, is a minimalist web application framework for Node.js. It simplifies the process of building web applications by providing a robust set of features, including middleware support, routing, and templating engines. Express is known for its flexibility, simplicity, and performance, making it a popular choice for developing web applications and APIs in Node.js.
* *.NET*: versatile developer platform for creating web, mobile, desktop, and cloud applications. It supports multiple programming languages and provides a rich set of libraries and tools for building software solutions. With built-in support for creating APIs and consuming web services, .NET makes it simple to develop and integrate with backend systems and services.
* *Wikidata*: Wikidata provides a REST API for retrieving information related to any topic. It helps us to dynamically generate questions for our game using it from any programming language.
* *MongoDB*: popular NoSQL database known for its flexibility and scalability. It stores data in flexible JSON-like documents and is widely used in modern web development for its simplicity and ability to handle large volumes of data.
* *Cucumber*: Testing tool that supports Behavior Driven Development (BDD) and allows us also to comply testability quality attribute.
* *SonarCloud*: Cloud-based service provided by SonarSource, which offers continuous code quality analysis and automated code reviews for software development projects. It helps developers identify and fix bugs, security vulnerabilities, and code smells in their codebase to improve overall software quality.
* *Arc42*: framework (template) used for documenting and communicating software architectures. It provides a template for describing the architecture of a software system, covering aspects such as stakeholders, requirements, architecture decisions, components, interfaces, and quality attributes. arc42 helps teams create consistent and comprehensible architecture documentation, enabling better communication, understanding, and maintenance of software systems throughout their lifecycle.
* *npm*: default package manager for Node.js, providing a command-line interface to install, manage, and publish JavaScript packages. With over a million packages available in its registry, npm simplifies adding functionality to Node.js projects by handling dependencies and providing tools for versioning and publishing packages.
* *Docker*: platform that will be used for deploying our services inside containers. Containers are lightweight, portable, and self-sufficient units that contain everything needed to run an application, including the code, runtime, system tools, libraries, and settings. Docker enables developers to package their applications along with all dependencies into containers, ensuring consistency across different environments, such as development, testing, and production.
Expand Down
39 changes: 23 additions & 16 deletions docs/src/07_deployment_view.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -98,28 +98,30 @@ General view of system's infrastructure
[plantuml, target=deployment-diagram, format=png]
....
actor client as "Client"
frame UbuntuServer {
frame Docker {
frame Azure {
frame UbuntuServer {
frame Docker {
frame WebAPP {
node React
}
frame WebAPP {
node React
}
frame NodeJSGateway {
node Authentication
frame NodeJSGateway {
node Authentication
node Users
}
node Users
}
database MongoDB {
node UsersDatabase
database MongoDB {
node UsersDatabase
node ResultsDatabase
}
node ResultsDatabase
}
frame .NET {
node RestAPI
frame .NET {
node RestAPI
}
}
}
}
Expand All @@ -130,6 +132,10 @@ frame GitHub{
node dockerCompose
}
frame wiq_en3a{
node project
}
}
.NET -- ResultsDatabase : MongoDB (port 27017)
Expand All @@ -138,7 +144,8 @@ WebAPP -- NodeJSGateway : (port 8000:8002)
WebAPP -- .NET : .NET (port TBD)
client -- WebAPP : Web Browser (port 3000)
Docker -- GitHubActions : on release
GitHubActions -- UbuntuServer : on release
Docker -- wiq_en3a
....


Expand Down

0 comments on commit 13137f1

Please sign in to comment.