-
-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GSOC 2025 : JSON Schema Visualization Tool - Interactive Graphical Viewer #868
Comments
Hello, |
Hey @benjagm Since this is primarily a frontend-based project, how would a local IDE connect to the frontend? Would this require developing an additional tool, like a lightweight extension for an IDE? However, such an extension wouldn't be widely applicable across different IDEs. If the backend is not implemented, does that mean the integration part will be automatically skipped? Please clarify . |
Hey @vishwajeet1729 , this project aims to enhance the user experience when working with JSON schema by providing graphical visualization. There are multiple tools available for this, such as D3.js, Cytoscape.js, and vis.js. While the backend is optional, that doesn’t mean integration is automatically skipped—it depends on the use case. If backend functionality is required for data processing or storage, it can be implemented, but our primary focus remains on improving the experience. Regarding IDE integration, a lightweight extension could work, but its applicability across different IDEs would need consideration. |
Backends require server support and cost a fair amount of money to maintain: money that this project doesn't have. |
Yeah , this could also be the case |
@gregsdennis @jagpreetrahi do we have a community discussion link? I have some improvements that could be helpful. |
Hi everyone. Let's keep the discussion for ideas and improvements here. As of now, this is just an idea that needs to be ranked and needs a mentor. This means, depending on the idea's prioritization, this and other ideas could left out of the list of allocated slots. |
hy pranal here looking forward to contribute to this issue |
I am interested to be mentor for this issue I have already desgined the visualizer for this issue or i am ready to be contributor. |
We appreciate your interest @ujjwaljha1 on becoming a mentor, but a JSON Schema mentor should have a solid track record as a JSON Schema Contributor and I think this is not the case. |
Hey @jagpreetrahi, Regarding applicability across different IDEs, if we develop the tool as an extension it will be very difficult as we will have to create different extensions for different IDEs. So, to overcome this, can we develop our tool as a web app and develop an npm package along with it so that we can send our json file to our web app through terminal from any IDE. This approach saves a lot of time as we don't have make different extensions to target different IDEs and in future, upgrading and improving this tool would also be much easier. |
If we build the backend on top of Cloudflare Workers, we might not need to pay extra, and it should work within our current plan. |
Hey @Pankajkumar7970 , we have already a platform for new learner as A Tour of Json Schema, so firstly we focusing on that only to improve the learning experience, if we get an chance for different IDEs then we think about it and totally depend on org members |
@jagpreetrahi Sorry, but I didn't get what you want to say. Could you please elaborate it more? |
I wanna tell you that , we have already platform A tour of Json Schema , feel free to explore it |
Looking forward to contributing! |
Really excited to contribute to this! Can't wait to get started! 🚀 |
Regarding: I think this requirement implicitly means we need a backend? Debugging would be easier and more straight-forward if the user can save checkpoints in case of complex schemas. |
Hey @AkshataABhat , due to the absence of a mentor, this project won't be part of GSoC 2025. You might want to explore other projects for your proposal or connect with members for any updates regarding this one |
Hurray! We have the amazing @AgniveshChaubey as a mentor for this project 🚀. In the following week, we will let all contributors know of next steps for this project. |
Hey @Honyii, I'm happy to have received this great information. Thanks! |
Hi! I'm Vedant Damedhar and I'm interested in contributing to the JSON Schema Visualization Tool project (#868). I've reviewed the project details and would love to help build the interactive graphical viewer. Looking forward to working with the community! 👋 |
Hey @AgniveshChaubey, As the proposal submission date is approaching, we haven’t received any qualification task yet. Could you please provide information regarding this? Having clarity on the task earlier would give us more time to complete it and prepare a well-structured proposal within the timeline. Looking forward to your response. Thanks! |
Hi everyone, thanks for your patience. As we are close to the proposal deadline, here are few points I'll be looking for in your proposals (which you can consider as qualifying tasks):
Note: This project is relatively easy compared to others in the org. With the above points I'm mainly interested in seeing how you approach the 'WHY' behind your choices. Good luck with your proposals! |
Hey @AgniveshChaubey, thank you for the guidelines. Can't wait to start on the project 🤩 |
Hey @AgniveshChaubey, I hope you're doing well. Should we consider editing the JSON schema as a core functionality or as an enhancement? Since our main focus is on representing the JSON schema as nodes and edges based on relationships, I wanted to clarify its priority. |
@jagpreetrahi let's keep the 'editing' feature as an enhancement as we'll |
Alright sir |
|
Hi @AgniveshChaubey , I came across this idea and found it closely aligned with my previous experience working on XML Schema and JSON Schema-based data conversion tools. I also have a strong foundation in JSON Schemas. I propose a graphical representation using libraries such as @xyflow. If my experience aligns with the feature, I would be happy to contribute as a collaborator on this idea. |
@AgniveshChaubey
How it can be implemented:The overall Json schema visualizer and editor will be like this Add Schema node button : This will add the child to the schema object Select child type: Select box with available options also we can show textbox here with autocomplete suggestions Add Search option to search node from the visualizer - This feature is must have with a graphical visualiser as it's hard to find the element in graphical view in general Link to the tree visualiser using react flow |
Hi @saurabhcoded and others, please avoid tagging Benjamin and other mentors regarding this project unless absolutely necessary, as they might already be busy with their work and project ideas.
As far as GSoC proposal is concerned, it's up to you to choose which visualization tool/library you'll use. You just have to justify your choice in the proposal. We'll have a discussion on which visualization tool to finalize for this project once the GSoC contribution period starts.
If you meant to join in as a GSoC contributor, then you'll have to go through the selection process. However, if you are looking to collaborate in general, you are most welcome. |
Hi, @ujjwaljha1, it's great that you shared your work here, but you'll also have to include it in your proposal as well. |
Hi @AgniveshChaubey thanks for the info , I’m eager to contribute in general as well. Should I wait until the GSoC proposal selection before contributing to this idea specifically, or can I start working on other issues in the meantime? |
@saurabhcoded the repository for this project will be set up when GSoC contribution period starts. You can chime in when the project kicks off. |
Project title
JSON Schema Visualization Tool
Brief Description
Understanding and working with JSON Schemas can become increasingly difficult as schemas grow in complexity, involving nested structures and numerous interdependencies. Developers and organizations often face challenges in comprehending, debugging, and effectively communicating the relationships between schema components, especially in large-scale projects. Existing tools lack the features needed to simplify the visualization and navigation of these schemas, leading to inefficiencies in schema development and maintenance. This project proposes an Interactive JSON Schema Visualization Tool to address these issues. The tool will offer a user-friendly graphical interface for visualizing and exploring JSON Schemas, making them more accessible and manageable for developers of all levels.
Expected Outcomes
Intuitive Visualization : Represent JSON Schemas as graphs with nodes and edges, showing objects, properties, and references.
Enhanced Developer Workflow : Enable schema debugging and editing directly within the visualization interface.
Integration Capabilities : Offer an API or plugin to integrate the visualization tool with IDEs, CI/CD pipelines, or schema validation workflows.
Accessibility Features : Include search and filtering options to locate specific elements in the schema quickly.
Skills Required
JSON Schema Expertise : Proficiency in JSON Schema structure, dialects, and use cases.
Frontend Development: Experience with JavaScript frameworks (React, Vue.js) for interactive UI development , and skilled in visualization libraries like D3.js or Cytoscape.js.
Backend Development (Optional): Familiarity with backend technologies for API integration and handling large schemas.
Mentors
@AgniveshChaubey
Expected Difficulty
Medium.
Expected Time Commitment
Approximately 175 hours, with significant time allocated to UI design, community feedback, and integration testing
The text was updated successfully, but these errors were encountered: