Form Generator
This is a readme file for the project, providing an overview of the project requirements, functionality, and how to set it up.
Requirements The following technologies and libraries are required for this project:
- React Hook Forms: Used for form handling and validation. (https://react-hook-form.com/)
- React: Used for creating reusable components. Choose either React based on your preference. (https://reactjs.org/ )
- TypeScript: Used for fully typed code. (https://www.typescriptlang.org/)
- Used for styling components. (https://emotion.sh/)
- Chakra UI: (https://chakra-ui.com/)
Functionality
The project aims to provide a form generator with the following functionality:
- Users can create pages with a name and a list of elements.
- Different input types are supported, defined in the ElementType enum. Supported types include text, checkbox, select, and radio.
- For select and radio input types, users should be able to provide a list of choices.
- Conditional logic should be implemented for form elements based on the requiredIf, visibleIf, and editableIf properties of elements.
- The generated forms should be rendered and interactable.
- Persistence should be implemented by using local storage to save and load the generated form
Setup Follow the steps below to set up and run the project:
Clone the repository or download the project files. Install the required dependencies by running the command: npm install or yarn install. Configure and set up the necessary libraries and tools as mentioned in the Requirements section. Start the development server by running the command: npm start or yarn start. Access the project in your web browser at the provided local development server URL. Ensure that you have the appropriate environment set up and configured to run the project successfully.