Completed

Algorithm - Php Laravel -webapp

Published on the June 04, 2025 in IT & Programming

About this project

Open

Hello, Devs

I hope my message finds you well. I'd like to know if you could help us with the following req! :)

Algorithm Description for Quotation – Multi-Store Fulfillment Optimization

We are improving an existing e-commerce system that currently allows customers to purchase products from a single store at a time (We have already the locations on lat/long). The goal is to upgrade this so that a single order can be fulfilled by multiple stores (It needs to show which products are on stock and which are not within a fixed radius on the backend, no need to be configurable), automatically selected by the system.

We need a backend algorithm that:

Receives a list of product IDs from a customer order.

Knows the current location of the delivery vehicle (latitude/longitude).

Knows the delivery destination (latitude/longitude).

Has access to all store locations and real-time product availability per store. (The stores can already select which items are on stock and which are not)

The algorithm should:

Determine the minimum number of stores needed to fulfill the full order. (Greedy algorithm)

Optimize the route, minimizing the total distance from the vehicle's current location, through the selected stores, to the final delivery point.

Return the total distance in kilometers.

Generate a Google Maps route link that includes all stops (origin, stores, and destination).

Bonus: The backend should support extracting coordinates from a Google Maps link (e.g., https://maps.google.com/?q=lat,lng) as input for either the origin or the destination.

This is for a Laravel (PHP) backend. There are few changed on the frontend. It is a webapp, such as two spaces on the frontend with google autocomplete feature (origin and destination)

Category IT & Programming
Subcategory E-commerce
What is the scope of the project? Medium-sized change
Is this a project or a position? Project
I currently have I have the design
Required availability As needed
Roles needed Developer

Delivery term: June 15, 2025

Skills needed