A powerful and flexible React-based form builder that allows users to create complex, dynamic forms with nested sections, and custom validation. Built with Material-UI and modern React practices.
Technical-Assesment-Plutus21.mp4
- Text Fields - Standard text input using Material-UI components
- Dropdowns - Custom select fields with configurable options
- Radio Buttons - Single-selection option groups
- Checkboxes - Boolean selection fields
- Date Pickers - Calendar-based date selection
- Phone Input - International phone number input with country codes
- File Upload - File attachment capabilities
- Sections - Group related fields together
- Nested Forms - Create complex form structures with unlimited nesting
- Real-time Validation - Validate form fields as users type
- Field Organization - Intuitive interface for form layout
- React.js
- Material-UI (MUI)
- JavaScript (ES6+)
- CSS-in-JS (Styled Components)
# Clone the repository
git clone(https://github.com/Rabeet8/Dynamic-Form-Builder.git)
# Navigate to project directory
cd form-builder
# Install dependencies
npm install
# Start development server
npm start- Launch the application
- Use the left sidebar to drag form components onto the canvas
- Configure field properties in the right panel
- Preview the form in real-time
- Test form submission and validation
- Add a Section component to your form
- Use the section's menu to add fields or sub-sections
- Preview the nested structure in the form preview
src/
├── components/
│ ├── CustomComponents/
│ │ ├── CustomDropdown.jsx
│ │ ├── CustomRadioButton.jsx
│ │ ├── CustomCheckbox.jsx
│ │ ├── CustomDatePicker.jsx
│ │ ├── CountryPhoneInput.jsx
│ │ └── CustomFileUpload.jsx
│ │ └── CustomTextField.jsx
│ │ └── FormBuilder.jsx
│ │ └── NestedField.jsx
│ │ └── Section.jsx
└── App.js