Create an application that will do below
- Accept a source JSON structure
- Accept a target JSON structure
- Accept a mapping (provided in a CSV format)
- Build an app that will generate the code required to transform the source JSON structure to target JSON structure based on the mapping[Key Feature]
- The generated code should preferably be Python or NodeJS.
- If you are using any transformation libraries like JQ/JSONATA/JOLT to achieve the mapping and transformation, the application should auto generate the spec files needed for these libraries [Key Feature]
- Application should be generic enough to accept different source/target/mapping inputs and dynamically arrive at the required code to do the conversion.
- Maintain a list of mapping-specification or generated-code specification by name.
- Expose an REST API endpoint which will accept source_json and specification name as input.
- REST API should accept the source_json, apply the transformation dynamically based on the generated code and respond back with transformed json.
- Based on the inputs received, automatically pick up the generated code and execute the same.
- Output should be the intended transformed JSON.
- Even if the generated code is executed with different data of same JSON structure, the intended output should be achieved.
-
Refer to the below path in repo for sample data
- data |- sample_1 |- sample_2 |- sample_3
- app_ui (for the UI files)
- app (for the backend files)
- presentation (to place working demo videos and presentation explaining the architecture of the app)
- Fork the repo to your team's git repo.
- Create a branch with your team name.
- You can make the changes to your branch locally.
- Create a file called TestMe.md and mention how to start the app and if any dependencies have to be downloaded to run the app locally
- Do not push the branch to the STG repo till instructed.
- At the end of the event, you can push your branch into the STG repo.
Try not to use firebase or any internet provided services for creating or running the apps