Description
(#308)
Project title: Bowtie and the World of JSON Schema
Brief Description
The world of JSON Schema is immense. JSON Schema tooling exists in countless languages across a variety of uses (data validation of course a noteworthy and prominent one). Implementing the JSON Schema specification(s) in a fully compliant way is not without challenge, meaning as a user of JSON Schema it is important to understand how a particular implementation may deviate such that one can make constructive tooling choices or help implementations improve. Bowtie is a recently created tool to aide in this task, helping to surface the conformance of various JSON Schema tools with the specification by running them against a set of known correct test cases and regularly rendering the results to a web page. But it can do more!
Expected Outcomes
- Enhance (or replace) Bowtie's simplistic current UI so that it most easily answers "what do various implementations say about each test case" -- making it snappier and more featureful
- Add support for further JSON Schema implementations by creating Bowtie harnesses in additional languages
- Teach Bowtie to compare not only True/False validation results but also the full JSON Schema standardized output formats
- Generate badges for implementations using https://shields.io/endpoint
Skills Required
- HTML/CSS/Javascript familiarity
- Some notion of what JSON Schema is -- or equivalently some experience using a similar data validation tool including writing SQL Schemas for databases
- Basic experience with any of a broad set of languages with JSON Schema implementations or curiosity to learn enough about them to write a simple program
- Some Python experience a strong plus
Mentors
Expected Difficulty
Easy-Medium
Expected Time Commitment
175 Hour
Activity
Pavan-Nambi commentedon Feb 1, 2023
Hey @Julian ,
I hope you are doing good! , I wanted to inquire about the necessary steps for familiarizing myself with the codebase for this issue . (I am aware that the Google Summer of Code applications have not started. )
and also Would you recommend starting with the resources available at https://json-schema.org/learn/ as a good starting point? or if there is anything i should be familiar with kindly lmk
Edit: is this related to this?
Thank you for your time and assistance.
Julian commentedon Feb 2, 2023
Hey there! Thanks, same!
Definitely starting by familiarizing yourself with JSON Schema at that link is the right first step. Understanding JSON Schema in particular is a great resource to read.
The second link is not so related, it's about a different part of JSON Schema.
Feel free to follow up if you do start reading through those learning resources!
benjagm commentedon Mar 6, 2023
Hi @Pavan-Nambi , JSON Schema finally hasn't been accepted as a mentoring organisation but we are collaborating with one of the accepted organisations to get this idea included. The organzation is Postman, therefore we are moving the discussion to this issue: postman-open-technologies/gsoc-2023#15
benjagm commentedon Mar 13, 2023
Closed and replaced by postman-open-technologies/gsoc-2023#15