A fully dynamic form builder built with React that generates UI based on a JSON configuration.
This project demonstrates advanced form rendering techniques including conditional rendering, nested fields, and dynamic state management.
👉 https://github.com/mqkhan125/json-driven-dynamic-form
---
- Dynamic form generation from JSON structure
- Conditional rendering of input fields
- Supported field types:
- Text input
- Textarea
- Checkbox
- Dropdown (lookup)
- Nested dynamic fields based on dropdown selection
- Controlled components using React state
- Clean and responsive UI with Tailwind CSS
- React Hooks (
useState,useEffect) - Conditional Rendering
- Derived State
- Dynamic Component Rendering
- JSON-driven UI architecture
- Form state management
src/ │ ├── components/ │ ├── FetchData.jsx # Handles command selection │ ├── InputData.jsx # Renders dynamic form fields │ ├── JsonData/ │ └── jsonData.json # JSON configuration for forms
- User selects a command from dropdown
- Selected command loads its JSON structure
- Fields are rendered dynamically based on field type
- Lookup fields load nested sub-fields dynamically
- Form state updates in real-time using controlled inputs
- React (Functional Components)
- JavaScript (ES6+)
- Tailwind CSS
- Form validation (required fields, error messages)
- API integration for form submission
- Support for deeply nested recursive forms
- Reusable field components (architecture improvement)
- Better state optimization for large JSON structures
M Qasim Khan
Frontend Developer
This project was built as part of an interview assignment to demonstrate understanding of:
- Dynamic UI rendering
- Conditional rendering logic
- State management in React
- JSON-driven application architecture