Supermarket challenge
##Company:
Supermarket
##Required product:
Program to evaluate total income from sales and keep count of loyalty points acquired by a given customer if he/she signs up to the loyalty program.
##Parameters:
The input to the problem is 3 csv files:
-
Stock report:
- Department
- Name of roduct
- Price of product
- Loyalty points corresponding to product
-
Sales history:
- Date
- Loyalty number (0 if not signed up to loyalty program)
- List of products bought
-
Promotions history:
- Date
- Department
- Promotion
##Particularities that need to be taken in to account:
- Every department is capable of assigning a particular sale. The code you write must be able to handle the application of a particular sale on any given day.
- The product list can be updated on any given day. As such your code must be able to handle a change of product attribute but also the possibility for new departments.
- Your code must be generic so as to handle different combinations of the three above files.
##Summary:
The following picture summarises your challenge:
##Evaluation:
Your code will be evaluated by placing it in a directory containing 3 files:
Your code should print the sales taken to screen and output a csv file containing the Loyalty points information.
Your code will be evaluated in terms of:
- Precision (does it work and if so is it correct? - This is an objective criteria)
- Performance (how fast is it? how does it handle bugs? - This is an objective criteria)
- Time taken to submit solution (This is an objective criteria)
- Clarity (is it well written/documented/tested - This is a subjective criteria)
##Suggestion:
I suggest you proceed by clearly defining independent programming tasks and attempting to work independently whilst ensuring that each piece of code produced is capable of talking to each other piece.