A suggestion would be to use node-rules open source as a framework.
The final solution would be scalable, modular and tested by seeing it work in a simple IONIC framework application (offline). (GUI can be as simplistic or plain. Its strictly to test the feature works).
High leverl Required promotion/discount rules are:
- Discounts with quantity steps, of ‘Buy X Get Y’ type: Buy x Quantity of selected products or category of products (excluding some products or category of products) and get the cheapest Y quantity of products (category of products) free
- Discount items to a fixed price discount (unconditional or based on minimum qua
- Discount items to a percentage discount
The following must be options in the rules
• Must be assigned to a customer, or customer category (excluding xxx customers or yyy customer categories.
• Customer had spent a certain amount in the cart
• Customer had spent a certain amount on these products or categories of products
• Customer has the product categories in the cart (excluding some products or product categories.)
• Customer has all of these products or categories of products in the cart
• Customer has one of these products or categories of products in the cart
Feel free to setup a database as you deem to enable demonstration of the demo. I can also provide a sample database structure if that would make it easier.
User requirement design document is also attached