-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the CheckoutPlatform wiki!
We need you to implement a simple promotion engine for a checkout process. Our Cart contains a list of single character SKU ids (A, B, C. .. ) over which the promotion engine will need to run. The promotion engine will need to calculate the total order value after applying the 2 promotion types • buy 'n' items of a SKU for a fixed price (3 A's for 130) • buy SKU 1 & SKU 2 for a fixed price ( C + D = 30 ) The promotion engine should be modular to allow for more promotion types to be added at a later date (e.g. a future promotion could be x% of a SKU unit price).
1.Source code is evolved as per TDD.
2.All mandatory requirements are incorporated with SOLID principles &Design Patterns within time limit
3.Here Strategy pattern is introduced to choose an algorithm from a family of Promotion algorithms.
4.Facade pattern is used to hide the complexities of the Promotion Engine system and provides an interface to the client using which the client can access the system.
5.Both Product list& offers list are available in a configuration file-JSON
6.There is no hardcoding related with Product or offers in source code.
7.There are 2 user interfaces available for testing logic with different sets of data- Unit Test & console.
8.unit test is with the help of nunit.
9.Probable exceptions are handled
10.Assignment is completed with production quality source code in a layered approach -Business/Entities/Interface/PromotionStrategies/Repository/Service Layers.
11.Source code is committed to github under a public handle with incremental checkIn

