Description
Project title
New Bowtie Test Case Widgets
Brief Description
Bowtie is a JSON Schema tool for comparing implementations with each other, and reporting on when or whether they have behavior which does not match with behavior expected by the JSON Schema specification.
It renders this information on a website at bowtie.report.
A major part of showing this information is communicating:
- a specific JSON Schema
- a specific JSON instance (piece of data)
- the expected result for whether this schema considers the instance valid
- the actual result received from 15 or more implementations which were tested
- a description of this specific test case suitable for human readers
How to present these 5 bits of information (and a few more) can get challenging when showing a large number of test cases.
Bowtie's website currently contains a crude pair of UI widgets for doing this -- specifically it renders a long list of collapsible sections:
and then when expanding one, shows the schema, instance, and results in a table:
But we can do lots better! Help rewrite Bowtie's test UI components so that we can cleanly filter through hundreds or thousands of test cases in a clear and efficient way.
Expected Outcomes
- New UI components for test case lists as well as instance/schema pairs
- Integration of these components with Bowtie's site
Skills Required
- React / TypeScript expertise
- An eye for design
- Basic knowledge of JSON Schema
Mentors
Expected Difficulty
Medium
Expected Time Commitment
175 Hour