Skip to content

CyberDatta/Pip__Coders

Repository files navigation

Scenario - JSON Transformation

Create an application that will do below

Code Generator

  • 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.

Code Executor

  • 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.

Other Guidelines

Input Data

  • Refer to the below path in repo for sample data

     - data
      |- sample_1
      |- sample_2
      |- sample_3
    

Recommended Folder Structure

    - 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)

Steps to submit the code

  • 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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •