OpenProct is an open-source framework for adding proctoring features to any website.
npm install openproctOpenProct is an open-source framework for adding proctoring features to any website. The core design centers around a single handler function at an API route, paired with a simple configuration in lib/proctor.ts. This approach aims to make it easy for web developers and LLMs to integrate proctoring logic in a consistent, scalable way.
- Provide a unified, handler-based API that websites can plug into to enable proctoring functionality.
- Use a configuration file (lib/proctor.ts) to define proctoring behavior and integrate different applications.
- Grow into a library of numerous proctoring logics contributed by the community via PRs.
- Offer practical tools like clipboard blocking, monitoring, banning, and more.
- Handler-based API route: Your application sets up a single API route that delegates to OpenProct’s handler function. This route becomes the entry point for proctoring events and checks.
- lib/proctor.ts: A configuration module where you define:
- What applications are being proctored (e.g., coding, QnA, mechanical design).
- Which tools are enabled (e.g., clipboard blocking, monitoring, banning).
- Any custom logic or integration points needed for a specific application.
OpenProct is designed to make it straightforward to integrate proctoring for various application types, including but not limited to:
- Coding environments
- QnA systems
- Mechanical design tools
Each integration can define its own proctoring logic, all managed through a centralized configuration.
OpenProct intends to offer a set of tools that can be enabled per integration:
- Clipboard blocking
- Monitoring and activity tracking
- Banning and enforcement mechanisms
These can be toggled and configured through lib/proctor.ts.
OpenProct’s library of proctoring integrations is meant to grow through community contributions:
- Add new integrations via PRs for different applications.
- Extend proctoring logic and tools in a modular fashion.
- Help build a broad ecosystem that web developers and LLMs can easily adopt.
1. Create an API route in your app and attach the OpenProct handler function.
2. Add a lib/proctor.ts configuration file to define:
- Your enabled integrations (e.g., coding, QnA, mechanical design).
- The tools you want to apply (clipboard blocking, monitoring, banning).
3. Implement or select proctoring logic for your target application(s) and wire it up in lib/proctor.ts.
Contributions are welcome. You can:
- Propose new integrations for different application types.
- Improve existing proctoring logic.
- Extend the toolkit with additional monitoring or enforcement features.
Please open a PR describing the new proctoring logic or tools and how they’re configured via lib/proctor.ts.
MIT