Gift Basket Concept - PRIBAN91/GiftBasket GitHub Wiki
This is the flagship concept of this whole API/microservice. The other modules are based on this particular one.
Here a customer can select all the category of items he/she wants to buy. He/she definitely has a budget to keep. This module prepares a list of items with one per category of products, keeping in mind of the budget amount.
The algorithms are lightning fast. It can traverse 10^4 to 10^5 data in split seconds. The worst case time complexity of the worst algorithm in place is O(mn(log k)), where m, n and k are variables from the context you will find in the code.
However, the all the algorithms in place make an unbiased choice. Hence, it may not make the best choice per se for every customer, as they don't read mind. Though a lot of targetted suggestions can be made based on customer's previous transactional data. The implementation of such machine learning algorithms would be quite easy with the right data.