Skip to content
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

GSoD: How to Write a JSON Schema Implementation (... Using Bowtie) #600

Open
Julian opened this issue Jan 30, 2024 · 3 comments
Open

GSoD: How to Write a JSON Schema Implementation (... Using Bowtie) #600

Julian opened this issue Jan 30, 2024 · 3 comments
Labels
gsod Google Season of Docs

Comments

@Julian
Copy link
Member

Julian commented Jan 30, 2024

Project title

How to Write a JSON Schema Implementation Using Bowtie

Brief Description

Imagine you're someone who wants to create a new JSON Schema implementation -- a tool for someone, in some programming language, to use to validate JSON Schemas against their data.

The JSON Schema test suite is an amazing resource you can use to build up your new tool. It contains a library of tests with "known correct results" which you can use to help you implement correct behavior. The recent Bowtie tool can be used to interact with the suite if you integrate with it.

Let's show how to do so for a completely new implementation in a hands-on tutorial taking someone through the path they might take. Here's an example of how such a tutorial might be structured:

  • Writing a Bowtie Harness, even though you don't have any code yet -- to see all the tests fail but run!
  • Picking how to structure your new implementation's API for validating
  • Picking which JSON Schema keywords to start with
  • Passing your first tests for that keyword via Bowtie
  • Making a mistake in your API and having to rework it
  • Supporting multiple versions of JSON Schema
  • ...

Expected Outcomes

The main deliverable here is a tutorial, rather than the implementation itself, though you may of course also publish the implementation!

Skills Required

Good knowledge of a programming language of your choice
Great writing skills, and maybe some previous time you wrote a post or tutorial for others to follow

Mentors

@Julian

Expected Difficulty
Medium

Expected Time Commitment
350 hour

@Julian Julian added the gsoc Google Summer of Code Project Idea label Jan 30, 2024
@benjagm benjagm added gsod Google Season of Docs and removed gsoc Google Summer of Code Project Idea labels Jan 30, 2024
@Julian Julian changed the title GSoC: How to Write a JSON Schema Implementation (... Using Bowtie) GSoD: How to Write a JSON Schema Implementation (... Using Bowtie) Jan 30, 2024
@benjagm
Copy link
Collaborator

benjagm commented Jan 30, 2024

Hi Julian, this seems to be a documentation idea. Are you ok if we keep this one for Google Season of Docs? It is great you detailed this idea so well because this is exactly what I had in mind for release 6 of our documentation strategy: json-schema-org/website#158

@Julian
Copy link
Member Author

Julian commented Jan 31, 2024

Great! Yeah all fine, agree it fits more with docs, I put this one in yesterday just because it randomly came to mind as I was otherwise distracted, will add a few more.

@DhairyaMajmudar
Copy link
Member

Hi, @Julian @benjagm I would like to perform this task under GSoD, attaching my proposal PR in the GSoD repo. google/season-of-docs#1199

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gsod Google Season of Docs
Projects
None yet
Development

No branches or pull requests

3 participants