This repository contains a complete implementation and testing suite for the Competencies and Academic Standards Exchange (CASE) v1.1 specification from 1EdTech.
It is intended for learning purposes to gain experience of the Competencies and Academic Standards Exchange (CASE) v1.1 specification
The main CASE v1.1 service implementation built with Express.js, TypeScript, and Prisma ORM.
Purpose: Provides a fully functional REST API that implements the CASE v1.1 specification, enabling the exchange of competency frameworks and academic standards data.
Key Features:
- Six manager endpoints (Associations, Definitions, Documents, Items, Packages, Rubrics)
- PostgreSQL database with Prisma ORM
- OpenAPI specification endpoint
- Docker Compose setup for easy deployment
- CSV file upload utilities for bulk data import
Tech Stack: Node.js, TypeScript, Express.js, Prisma, PostgreSQL, Docker
See CASEProvider/README.md for detailed documentation.
Integration test suite for the CASE service using Postman/Newman.
Purpose: Automated API testing client that validates CASE service endpoints against the specification using Postman collections.
Key Features:
- Newman-based test execution
- HTML report generation with detailed test results
- Built-in Express server to view reports
- Docker support for containerized testing
- Configurable CASE service endpoint
Tech Stack: Node.js, Express, Newman, Docker
See client-test/README.md for detailed documentation.
Visual documentation and diagrams for the CASE specification.
Contents:
case-diagram.png- Overall CASE architecture diagramcore-classes.png- Core CASE class structurecfdocument.png- CFDocument entity diagramcfitem.png- CFItem entity diagramcfassociation.png- CFAssociation entity diagramcfpackage.png- CFPackage entity diagramdefinitions.png- CASE definitions diagramrubrics.png- Rubrics structure diagram
These diagrams provide visual references for understanding the CASE data model and relationships between entities.
-
Start the CASE Provider:
cd CASEProvider docker-compose up -dThe service will be available at
http://localhost:3000 -
Run Integration Tests:
cd client-test node app.jsView test reports at
http://localhost:8081
This implementation follows the CASE v1.1 specification:
- Specification URL: https://purl.imsglobal.org/spec/case/v1p1
- OpenAPI Definition: https://purl.imsglobal.org/spec/case/v1p1/schema/openapi/imscasev1p1_openapi2_v1p0.json