This repository is a Proof of Concept (PoC) for testing a small part of the Edu-API specification over a proposed asynchronous binding using gRPC. The goal is to explore and validate async streaming patterns for Edu-API data exchange between a Producer (mock-sis) and various Consumers.
mock-sis/— Producer: A mock implementation of an Edu-API Producer, streaming SIS data over gRPC.consumers/— Consumers: Example clients that connect to the Producer and consume streamed data. Includes:ts/— TypeScript/Node.js consumerpython/— Python async consumer
proto/— Protocol Buffers definitions for the async Edu-API PoCJSONSchemas/— (If present) JSON Schema definitions
- Producer: The source of Edu-API data (here,
mock-sis). - Consumer: Any client that connects to the Producer to receive streamed Edu-API data.
The Producer is implemented in the mock-sis/ directory. It acts as a mock Edu-API Producer, streaming SIS data (Persons and Courses) over gRPC for demonstration and testing purposes.
- See the mock-sis README for setup, build, and run instructions.
Consumers are example clients that connect to the Producer and demonstrate how to receive and process streamed Edu-API data using gRPC. Each consumer has its own README with setup and run instructions:
See the respective README in each directory for details on installation, running, and regenerating gRPC code.
For more about Edu-API, see the 1EdTech Edu-API page.