You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apisix.apache.org by Baoyuan <ba...@apache.org> on 2026/03/03 10:17:00 UTC
Re: [GSoC 2026] Interest in JSON Schema to Form UI – APISIX Dashboard
Hi Ajinkya,
Thank you for your contributions to the Apache APISIX Dashboard project and
your interest in the Apache APISIX GSoC 2026 project APISIX-39. We are
delighted to see so many excellent students interested in this project.
Currently, we are collecting and evaluating the interests and proposals of
all potential applicants. Could you please describe your question in
detail? You can also submit an issue directly in the project to showcase
your proposal.
Ajinkya Pathak <aj...@gmail.com> 于2026年2月22日周日 16:34写道:
> Hi everyone,
>
> I’m Ajinkya Pathak with a background in full-stack development and
> cybersecurity. I’ve been actively exploring the Apache APISIX Dashboard
> repository, reviewing its architecture, frontend–backend interaction model,
> and configuration workflow through the Admin API. I have also contributed
> by submitting a pull request and raising an issue, which helped me gain a
> deeper understanding of the codebase and contribution standards.
>
> I’m particularly interested in the GSoC 2026 idea “JSON Schema to Form UI
> for APISIX Dashboard.” A schema-driven form generation approach appears to
> enhance maintainability, reduce redundant UI logic, and ensure stronger
> alignment between frontend validation and backend configuration schemas. I
> would appreciate guidance on specific components or areas within this scope
> where further contributions would be most impactful as I continue engaging
> with the project.
>
> GitHub ID for reference: ajinkyap9
> --
> Thanks & Regards
> *Name:* Ajinkya Jagdish Pathak
> *Email:* ajinkyapathak999@gmail.com
> *Linkedin:* ajinkya_pathak
> <https://www.linkedin.com/in/ajinkya-pathak-820675326/>
>
Re: [GSoC 2026] Interest in JSON Schema to Form UI – APISIX Dashboard
Posted by Ajinkya Pathak <aj...@gmail.com>.
>
> Hi Baoyuan,
>
> Thank you for your response and for the opportunity to further clarify my
> interest in APISIX-39.
>
> After reviewing the current APISIX plugin schemas and the Dashboard’s
> plugin configuration workflow, I would like to outline my proposed approach
> for implementing JSON Schema - Form UI rendering.
>
> My initial plan is structured into the following stages:
>
> 1. Schema Pattern Analysis
>
> · Analyze real plugin schemas used in APISIX core.
>
> · Categorize commonly used patterns (basic types, enums, nested
> objects, arrays, oneOf, dependencies).
>
> · Identify a minimum supported subset for Phase 1 implementation.
>
> 2. Reusable SchemaForm Architecture
>
> · Design a reusable SchemaForm component responsible for:
>
> § Parsing JSON Schema definitions
>
> § Mapping schema types to UI widgets (Input, Select, Switch, Array
> fields, etc.)
>
> § Handling default values and required fields
>
> § Supporting constraints (min/max, pattern, etc.)
>
> § Create a configurable schema-to-widget mapping layer for extensibility.
>
> 3. Complex Schema Support
>
> · Implement support for:
>
> 1. oneof (render selector + dynamic sub-schema rendering)
> 2. dependencies / conditional fields
>
> · (Stretch goal) Add support for anyof if needed by target schemas.
>
> 4. Validation Pipeline
>
> · Integrate AJV for schema-based validation.
>
> · Map validation errors consistently to UI feedback.
>
> · Ensure validation behavior aligns with backend expectations.
>
> 5. Testing & Documentation
>
> · Add unit tests for schema parsing and conditional rendering logic.
>
> · Provide integration tests using real plugin schemas.
>
> · Write developer documentation explaining:
>
> 1. How SchemaForm works
>
> 2. How to extend widget mappings
>
> 3. How to support additional JSON Schema keywords
>
> As an incremental milestone, I plan to refactor 1–2 existing plugin
> configuration forms to use the new SchemaForm component to demonstrate
> reduced manual UI logic and improved maintainability.
>
> I would appreciate feedback on:
>
> - Whether prioritizing oneOf and dependencies early aligns with
> project expectations.
> - If there are specific plugin schemas that you recommend targeting as
> reference implementations.
> - Any architectural preferences or constraints within the Dashboard
> frontend that I should consider before drafting the detailed design
> Proposal.
>
>
>
> Looking forward to your guidance.
>
--
Thanks & Regards
*Name:* Ajinkya Jagdish Pathak
*Email:* ajinkyapathak999@gmail.com
*Linkedin:* ajinkya_pathak
<https://www.linkedin.com/in/ajinkya-pathak-820675326/>
Re: [GSoC 2026] Interest in JSON Schema to Form UI – APISIX Dashboard
Posted by Deep Shekhar Singh <wo...@gmail.com>.
Hi Baoyuan and the APISIX community,
I am writing to share my application and progress regarding APISIX-39 as
part of the GSoC 2026 process. My name is Deep Shekhar Singh (GitHub:
@DSingh0304). Over the past few months, I have become deeply involved in
the APISIX Dashboard, and I have now formalized my proposal and technical
approach.
Proposal Issue: https://github.com/apache/apisix-dashboard/issues/3315
Proof of Concept PR: https://github.com/apache/apisix-dashboard/pull/3274
As a native demonstration of the proposal, my Proof of Concept (PR #3274)
already implements the core SchemaForm engine with the following features:
- *Recursive Mapping*: Full support for nested objects and repeatable
object arrays (useFieldArray).
- *Conditional rendering*: Native support for oneOf, anyOf, and
dependencies patterns.
- *Draft-07 if/then/else support*: Real-time evaluation of conditional
schemas using AJV.
- *APISIX Extensions*: Handling of encrypt_fields to automatically
render PasswordInput for sensitive plugin secrets.
- *Verification*: Included a suite of 43 unit and component tests
ensuring parsing accuracy.
- *Documentation*: Comprehensive developer guide available at
docs/en/schema-form.md.
My familiarity with the Dashboard architecture comes from my prior
contributions, including 10+ merged E2E test PRs, a critical UI crash fix
(#3286), the multi-filter route search form (#3222), and the CI linting
workflow (#3291). I would be incredibly grateful for any feedback from the
mentors or the community on the technical design or the proposed timeline.
Best regards,
Deep Shekhar Singh
GitHub: @DSingh0304 <https://github.com/DSingh0304>