Skip to content

ADR 05 ‐ Question generation in Node.js

Teresa González edited this page Feb 25, 2024 · 1 revision

Status

  • Proposed
  • Accepted
  • Superseded

Context

Our team is developing a real-time online game. For this reason, it is crucial to efficiently handle simultaneous connections. Node.js is based on an efficient and beneficial model for our project. Additionally, it includes a package manager called npm (Node Package Manager), making it easier to incorporate functionalities from third-party modules.

Decision

We have decided that although Node.js has both advantages and disavantages, it may be a good option for this kind of project. For that reason, we will be using this technology.

Consequences

  • Benefits:

    • Handling concurrent connections: In the event of having matches with multiple players, it is important to have efficient connection management
    • Improving JavaScript skills: Team members will have the opportunity to improve their skills with JavaScript and Node.js while learning new things.
  • Trade-offs:

    • Learning curve: Due to the team's lack of extensive knowledge about Node.js or JavaScript, it may require some extra time to learn it. This time would not be necessary if other technologies more well-known by the team were used.
    • Compatibility with synchronous libraries: Because Node.js is designed for asynchronous operations, using synchronous libraries can cause complications.

Compliance

In order to ensure the use of Node.js in the project, the development team has been informed. Those responsible for implementing tasks related to question generation should use this technology.

Notes

  • Original Author: Teresa González
  • Approval date: 22/02/2024
  • Approved by: MM 08 - Laboratory Class 04
  • Superseded date: N/A
  • Last modified date: N/A
  • Modified by: N/A
  • Last modification: N/A