Re: [GSoC 2026] Prospective Applicant - JSON Schema to Form UI (APISIX-39)
Hi Baoyuan and everyone,
Thanks for starting this discussion, Deep — the PoC looks promising and
it’s great to see early experimentation around schema-driven forms.
I’ve also been contributing to the APISIX Dashboard over the past months
(mostly around list abstractions, UX consistency, and E2E stability), and
I’m currently preparing my GSoC 2026 proposal around APISIX-39 as well.
>From working on dashboard abstractions like ResourceListPage, one thing
that stood out to me is the importance of *long-term maintainability and
contributor experience*, especially for features that will be extended by
future plugin developers.
In that context, I wanted to add two points to the discussion:
1.
*SchemaForm as an extensible system*
Beyond rendering fields, I think it’s important that the SchemaForm
architecture clearly documents:
-
supported schema patterns
-
how to introduce new widgets (e.g. via x-widget)
-
how contributors can safely extend the system without touching core
logic
This reduces long-term dashboard maintenance cost and aligns well
with APISIX’s extensibility goals.
2.
*Testing balance*
My current thinking is to treat schema parsing and validation as
deterministic core logic (well-covered by unit tests), while using a
smaller number of integration/E2E tests with real plugin schemas to ensure
end-to-end correctness. This keeps CI stable while still validating
real-world usage.
I’m looking forward to mentor feedback on the above, and I’ll incorporate
the guidance into my proposal as I continue refining the design and
timeline.
Best regards,
Baluduvamsi
GitHub: Baluduvamsi2006
On Fri, 20 Feb 2026 at 13:13, Deep Shekhar Singh <[email protected]>
wrote:
> Hi Baoyuan and the APISIX community,
>
> I'm Deep Shekhar Singh, a student interested in working on APISIX-39 (JSON
> Schema to Form UI for APISIX Dashboard) for GSoC 2026.
>
> I've been contributing to the dashboard for a few months now, with several
> merged PRs (mostly focused on form handling and e2e tests). Following
> Baoyuan's earlier feedback on the mailing list, I built a working proof of
> concept that currently covers:
>
> - Basic type rendering (string / number / boolean / object / array)
> - `oneOf` and `dependencies` support for conditional fields
> - Dynamic array handling with `useFieldArray.`
> - AJV validation pipeline with error mapping to form fields
> - Tested against the real `proxy-rewrite` plugin schema
>
> PR: https://github.com/apache/apisix-dashboard/pull/3274
>
> As I begin drafting my formal proposal, I have a couple of *technical
> questions* I'd appreciate guidance on:
>
> 1. For the integration into `PluginEditorDrawer`, is the preference to
> replace the JSON editor entirely, or offer a toggle between the editor and
> the schema-driven form?
>
> 2. Regarding test coverage, should the focus be on unit tests for schema
> parsing logic, or integration tests against real plugin schemas from the
> Admin API?
>
> Looking forward to the discussion!
> Best regards,
>
> Deep Shekhar Singh
> GitHub: DSingh0304 <https://github.com/DSingh0304>
>