GitHub API Workflow
About This MicroSim
This interactive workflow visualization shows the complete sequence of GitHub API calls needed to discover MicroSims across repositories. It traces the flow from listing user repositories through directory traversal to metadata extraction.
Key Features
- 12 connected workflow steps showing the complete discovery process
- Hover tooltips with detailed explanations for each step
- API call badges indicating which steps make GitHub API requests
- Decision diamonds showing branching logic
- Loop indicators for iterative processing
- Animation mode to trace the data flow
Learning Objectives
After using this simulation, students will be able to:
- Explain the sequence of API calls required for MicroSim discovery
- Identify decision points in the crawling workflow
- Trace data flow from repositories to aggregated collection
Lesson Plan
Grade Level
Undergraduate / Graduate (Computer Science, Data Engineering)
Duration
20-25 minutes
Materials Needed
- This simulation
- Access to GitHub API documentation
Procedure
-
Introduction (3 min): Discuss the challenge of discovering content across distributed repositories
-
Guided Exploration (8 min): Walk through the workflow steps:
- Hover over each step to read the tooltip
- Note which steps make API calls (blue boxes)
- Identify the two decision points
-
Observe the loop structures
-
Animation Mode (5 min): Click "Animate Flow" to watch data move through the pipeline
-
Discussion (5 min):
- Why do we filter repositories before checking for sims?
- What happens when metadata validation fails?
-
How do the two loops (repos and sims) nest together?
-
Extension Activity: Compare this workflow to another API-based data collection you've encountered
Assessment
Ask students to: - List the 3 API endpoints used in this workflow - Explain why we check for directory existence before listing contents - Describe what happens to invalid metadata
Technical Details
Framework: p5.js
Canvas Size: Responsive width, 540px height (480px draw area + 60px controls)
Interaction: Hover for tooltips, click to animate