Skip to content

Feature/new ideas#188

Merged
jermbo merged 6 commits into
mainfrom
feature/new-ideas
Jul 25, 2026
Merged

Feature/new ideas#188
jermbo merged 6 commits into
mainfrom
feature/new-ideas

Conversation

@jermbo

@jermbo jermbo commented Jul 24, 2026

Copy link
Copy Markdown
Owner

Summary

Turns SampleAPIs from a sample-data playground into a learning platform by shipping three major client features — HTTP Inspector, Explore panel, and Guided Challenges — plus the documentation and planning infrastructure to support what comes next.

  • HTTP Inspector — Playground Network tab that captures every fetch() from sandboxed code (method, status, timing, headers, failure explainers) via a bootstrap fetch wrapper and __net event stream
  • Explore panel — Collapsible "Explore this endpoint" section on API details with Shape (derived field/type view, copy as TypeScript) and Query (visual filter/sort/pagination builder with live URL preview) tabs
  • Guided Challenges (/learn) — Client-side learning tracks with declarative check specs, automatic grading from run events, hints/solutions, and localStorage progress; ships the pilot REST basics track on Futurama
  • Playground & API details polish — Refactored Playground (network rows, sandbox bootstrap extraction, styling), split APIDetails into focused subcomponents, nav/header updates, and expanded Futurama dataset for the learning track
  • Documentation — Project glossary, feature docs for the new surfaces, contributing guides (authoring a track, clear principles), and full implementation plans + decision logs for all future-feature proposals; adds TypeScript Playground proposal and marks Shareable Playground Links as rejected

Test plan

  • Visit an API details page (e.g. /futurama/characters) and confirm the Explore panel loads Shape and Query tabs with correct field types and live query preview
  • Copy TypeScript from the Shape tab and verify output matches the endpoint schema
  • Open the Playground, run a fetch() call, and confirm the Network tab shows request/response rows with status, timing, and headers
  • Navigate to /learn, complete steps in the REST basics track, and verify checks pass/fail with appropriate guidance
  • Confirm progress persists across page reloads and the next-challenge flow works
  • Run existing client tests (deriveShape, queryState, evaluate, toTypeScript)
  • Spot-check docs links in docs/features/, docs/glossary.md, and docs/future-features/plans/

jermbo added 6 commits July 9, 2026 21:53
- Introduced a new glossary document to define key terms and concepts used throughout the project, aiding both newcomers and existing contributors in understanding the shared vocabulary.
- Updated the README to include a link to the new glossary, improving documentation navigation and accessibility for users seeking clarification on terminology.
- Added a new learning track feature with associated challenges to enhance user engagement and learning experience.
- Introduced evaluation logic for challenge checks, allowing users to receive feedback on their code execution.
- Updated routing to include new learning paths and integrated links in the API details page to guide users to relevant practice tracks.
- Enhanced the Playground component to support challenge evaluation and improved styling for better usability.
- Added new CSS styles for the learning track index and challenge components to ensure a cohesive design.
…tion

- Introduced new hooks for managing track progress, allowing users to track their completion status and reset progress easily.
- Added a new `LearnTrackCard` component to display individual tracks with progress indicators and action buttons for resetting or continuing challenges.
- Implemented an `HTTP Inspector` feature to visualize network requests made during challenges, enhancing the learning experience by providing immediate feedback.
- Updated the `Learn` page to utilize the new `LearnTrackCard` component, streamlining the display of available tracks.
- Enhanced documentation to include details on the new features, including the `Authoring a Track` guide and updates to the glossary for better clarity on terms.
…nd UI improvements

- Added new components for managing network events in the Playground, including `PlaygroundNetworkRow` and `PlaygroundNetworkHeaders`, to visualize network requests and responses.
- Implemented utility functions for handling network events and displaying relevant information, improving user feedback during API interactions.
- Enhanced the Playground component to integrate new features, including better handling of network requests and improved UI elements for displaying results.
- Introduced new hooks for managing challenge evaluation and navigation visibility, streamlining user interactions and enhancing the overall learning experience.
- Updated existing components to utilize new features and improve code organization, ensuring a more cohesive and maintainable codebase.
…ration

- Introduced the Explore component, featuring collapsible panels for exploring API endpoints.
- Added ShapeViewer and QueryBuilder components to visualize data structure and build queries interactively.
- Implemented FilterRow, PaginationControls, and SortControl for enhanced query management.
- Integrated hooks for fetching sample records and live query previews, improving user experience.
- Created utility functions for managing UI states and labels, ensuring a cohesive design.
- Added CSS styles for the Explore panel and its components, enhancing visual presentation.
… and reject Shareable Links

- Added a new documentation page for the TypeScript Playground, detailing its features, user stories, and implementation plan.
- Updated the future features README to reflect the rejection of the Shareable Playground Links proposal, including reasoning for the decision.
- Marked Shareable Playground Links as rejected in the plans and related documentation for historical context.
- Enhanced the plans section to include dependencies and build sequence for the TypeScript Playground, ensuring clarity on its development path.
@jermbo
jermbo requested a review from thedamian July 24, 2026 14:49
@jermbo
jermbo merged commit 676205a into main Jul 25, 2026
2 checks passed
@jermbo
jermbo deleted the feature/new-ideas branch July 25, 2026 11:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant