data/js-template/02/meta.yaml (31 lines of code) (raw):

metadata: scenario_id: 02 scenario_name: generate_react_app category: component_generation evaluation_steps: completeness: - Ensure that the API call to https://swapi.dev/api/people is made using axios. - Make sure the data is fetched initially without any input fields. - Ensure a loader or loading indicator is displayed while data is being fetched. - Verify that errors are logged to the console if the API call fails. - Ensure that the fetched characters are displayed in a list format. - Make sure each list item has a unique key derived from the character’s URL. accuracy: - Ensure the application does not contain unused imports or code. - Ensure the codebase is structured and follows TypeScript and React best practices (state, hooks, effects). - Ensure the application is free of memory leaks and unnecessary re-renders. - Ensure the application is compatible with the latest version of React and TypeScript. - Ensure the application is free of console errors and warnings. - Ensure app does not access DOM elements to retrieve the values of text fields. - Ensure app does not directly manipulate the DOM outside of React’s virtual DOM. - Ensure app does not overuse refs for DOM access instead of React’s state and props. - Ensure app does not have too many re-renders due to state or prop changes. - Ensure the code is decomposed to the set of the components with using single responsibility - Ensure the code does not contain any duplicates and follow DRY principles - App has the same DOM tree structure and classes as in the original application. - App does correctly use useEffect, avoiding infinite loops. - Confirm that axios is installed and listed as a dependency in package.json. - Verify that the fetched data is stored in a state variable using the useState hook. - Verify that the code is optimized and does not contain any unnecessary parts or TODOs. - Ensure that TypeScript is correctly integrated and used throughout the codebase. - Verify that React.StrictMode is used in index.tsx.