This repository is a Proof of Concept (PoC) for testing a small part of the EduAPI specification over a proposed asynchronous binding using gRPC. The goal is to explore and validate async streaming patterns for EduAPI data exchange between a Producer (mock-sis) and various Consumers.
mock-sis/
— Producer: A mock implementation of an EduAPI 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 EduAPI PoCJSONSchemas/
— (If present) JSON Schema definitions
- Producer: The source of EduAPI data (here,
mock-sis
). - Consumer: Any client that connects to the Producer to receive streamed EduAPI data.
The Producer is implemented in the mock-sis/
directory. It acts as a mock EduAPI 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 EduAPI 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 EduAPI, see the 1EdTech EduAPI page.