Skip to content

Milestone D4: Message queues and matching service

Closed Oct 21, 2024 97% complete

In this milestone, you will
• Develop a matching service to provide functionality for initiating a collaboration between two
users based on some criteria (e.g., working together on a question of a particular topic and
difficulty level).
Task

  1. Use some form of queuing mechanism to achieve the matching of two users in initiating a
    collaboration.
    Note: You w…

In this milestone, you will
• Develop a matching service to provide functionality for initiating a collaboration between two
users based on some criteria (e.g., working together on a question of a particular topic and
difficulty level).
Task

  1. Use some form of queuing mechanism to achieve the matching of two users in initiating a
    collaboration.
    Note: You will be given a code for the user service. Use it to provide user info to the matching
    service.
  2. As an example, consider the following instance:
    a. Two users should be able to specify the topic and the difficulty level of the question
    they want to work on.
    b. Priority is given to the topic (over difficulty level) when identifying the matching peer.
    c. Each user can wait a fixed amount of time (say 30 seconds) to find a match.
    d. Provide some form of feedback to the user using the frontend code (e.g., animation
    to indicate the user to wait until a match is obtained)
    e. Also handle the scenario where no match is found (e.g., retry matching, cancel the
    matching attempt with an error, etc.,)
  3. You are required to containerize the service, like the previous milestone.
  4. Update the Docker compose file as necessary.
  5. [Not to be submitted] Document your Milestone D4 work in the Technical Report from earlier
    milestones. This report shall continue to evolve with each milestone and would result in a
    product document at the end. See Appendix 2 for details on what is expected from the final
    technical report.
Loading