Automation Project
Technology stack: Java, AWS Lambda, AWS S3
Overview:
The Java8 program that takes a zip file as input, which contains a directory structure with each directory containing one or more word documents. Each word document contains product information in a mostly consistent format.
The requirements stated were as follows:
- Read each product from each file into a Product POJO object. The POJO should contain an ordered list of categories which would show the category hierarchy of the product
- The product images should also be loaded into an ordered List, and the images should be extracted to a directory using the product name (if any characters are found that cannot be used in a file structure, replace the chars using a simple map look... i.e '+' can be replaced with 'plus' and spaces can be replaced with underscore character '_')
- Each product when loaded into POJO should be output to the same folder as the images, with a .json extension and this file will contain the contents of the product POJO converted to a json format (using jackson)
- The program should be demonstrated as an AWS lambda to complete the project
- The initial run of the program would produce all of the output image and json files subsequent runs may only contain delta documents, so only the documents provided should be replaced. This functionality should be backed up by junit tests
- The output should be unique by partnumber... Any duplicates should be added to an error output file
- Additionally, the program should output a csv file, that can be imported directly into pimcore using the import tool
- Once the csv file can be loaded into PimCore, we will identify a way to mark products in the word docs as parent product / skus, to model the parent / child relationships in pimcore