Hi APISIX Dashboard team, I'm Deep Shekhar Singh, and I've been contributing to the apisix-dashboard project. I'm interested in working on the "JSON Schema to Form UI" feature (Issue #2986) as part of my preparation for GSoC 2026.
Background Following the discussion in issue #2986, I've built a proof-of-concept demonstrating a custom adapter approach for auto-generating form UIs from APISIX plugin JSON Schemas. What I've Built I've created a working demo that shows: 1. *SchemaForm component* - Renders forms from JSON Schema 2. *oneOf support* - Handles conditional field groups (e.g., OAuth vs API Key authentication) 3. *dependencies support* - Shows/hides fields based on other field values (e.g., Redis config when storage_type=redis) 4. *Zero bundle impact* - Reuses existing FormItem components (TextInput, Select, Switch, NumberInput) *PR*: https://github.com/apache/apisix-dashboard/pull/3274 *Issue*: https://github.com/apache/apisix-dashboard/issues/2986 *Technical Approach* - Uses React Hook Form's useWatch() for conditional rendering - Maps JSON Schema types directly to existing Mantine components - No additional state management libraries needed - Estimated bundle size impact: ~23 kB (vs ~69 kB for react-jsonschema-form) *Demo* A demo page is available at /schema_form_demo showing: - Basic type mapping (string, number, boolean, enum) - Conditional field groups with oneOf - Conditional fields with dependencies - Live form data preview *Seeking Feedback* I'd appreciate feedback on: 1. Is this approach aligned with the project's direction? 2. Any concerns about the implementation? 3. What additional features/tests would be needed for production? I'm happy to iterate on this based on community feedback and potentially expand it as a GSoC 2026 project to cover all 80+ APISIX plugins. Looking forward to your thoughts! Best regards, Deep Shekhar Singh GitHub: @DSingh0304 Previous contributions: 10 merged PRs in apisix-dashboard
