VishnuAmit / LapProFix

http://lap-pro-fix-bo2t.vercel.app/
MIT License
2 stars 19 forks source link

Implement Scheduling Algorithm #51

Open VishalAadiith opened 1 month ago

VishalAadiith commented 1 month ago

Task Overview

This task focuses on developing a scheduling algorithm to match customers' service requests with service providers based on their expertise and availability. The algorithm will use the data provided by the service providers (e.g., expertise, certifications) and customer service requests to assign the right technician to each job.

  1. Fork the Repository
    Fork the LapProFix repository to your local machine.

  2. Install Packages
    Navigate to the project directory and install the necessary packages using: bash npm install i

  3. Run the Project
    bash npm run dev

  4. Understand the Data

    • Review the service provider data, including:
      • Fields of expertise (e.g., display repair, keyboard issues, cleaning, upgrades).
      • Certification and authorization status.
      • Number of technicians available.
    • Understand the customer service requests from the cart, which will include the type of service needed (e.g., display repair, keyboard fix).
  5. Design Scheduling Algorithm

    • Create an algorithm that matches the customer’s service request with a service provider based on:
      • Expertise of the service provider.
      • Availability of technicians.
      • Certification/authorization status.
      • Customer’s location (optional, based on service proximity).
  6. Optimize Scheduling

    • Ensure that the algorithm efficiently assigns jobs to service providers based on availability and specialization to minimize customer wait times and balance workloads.
  7. Implement the Algorithm

    • Integrate the scheduling logic with MongoDB to fetch provider data and customer requests.
    • Match customers to the most qualified and available service provider for each job.
    • Provide real-time updates to customers about the status of their technician assignment.

Expected Outcome

TecHAyusH6476 commented 1 month ago

@VishalAadiith I’d love to work on the scheduling algorithm task. With 2 years of development experience and a solid foundation in Operating Systems and Data Structures & Algorithms, I believe I can contribute effectively to this feature. Could you please assign me the issue?

VishnuAmit commented 1 month ago

@TecHAyusH6476 You can start working on it. But make sure if you have any doubts clear it beforehand. As the services pages are still in progress, you can assume these criteria's (e.g., display repair, keyboard issues, cleaning, upgrades).

TecHAyusH6476 commented 1 month ago

@VishnuAmit Sounds good! I'll start planning and let you know if I need any additional information

VishnuAmit commented 1 month ago

@TecHAyusH6476 Any updates?

TecHAyusH6476 commented 1 month ago

@TecHAyusH6476 Yeah have been working on it Took a while to setup the repo as my node version was conflicting I have gone through initial phase for algo

VishnuAmit commented 1 month ago

Good. Just wanted to know what's your plan? If you come up with one or have one, do mention here.