npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

eduquizz

v0.1.0

Published

An interactive educational quiz and exercise framework for creating engaging learning experiences.

Readme

EduQuizz

An interactive educational quiz and exercise framework for creating engaging learning experiences.

Overview

'eduquizz' is a TypeScript-based library that provides customizable quiz components and interactive educational exercises. The library offers a variety of quiz types including standards like multiple choice, matching, categorization, fill-in-the-blanks, and new, creative types that may catch anybody's eye. Each varierty has its own set of variation that can make the quizz like a completely different thing as well.

Features

  • Multiple Quiz Types: MCQ, matching, categorization, blanks, true/false, and manual input
  • Custom Web Components: Letter picker, color picker, and global input components
  • Themeable: Accepts CSS variables for dynamic theming
  • Framework Agnostic: Uses vanilla HTML/CSS + Typescript, works anywhere with simple wrappers
  • TypeScript Support: Full type definitions included
  • Audio Feedback: Built-in sound effects for interactions

Installation

npm install eduquizz 

Quick Start

import { MCQContract, LetterPicker } from 'eduquizz';

// Use a quiz contract
const quizData = {
  question: "What is 2 + 2?",
  options: ["3", "4", "5"],
  correct: 1
};

// Asuming you have something like <div id="quiz-container"/>
const mountElement = document.getElementById('quiz-container');
const handle = MCQContract.implementation.renderer(mountElement, quizData);

Available Quiz Types

Multiple Choice Questions (MCQ)

  • Standard multiple choice with single correct answer
  • Configurable options and styling

Matching Exercises

  • Original Matching: Connect related items
  • Wheels Matching: Circular matching interface
  • Single Matching: One-to-one matching
  • True/False: Binary choice questions
  • Concepts Definition: Match concepts to definitions

Fill-in-the-Blanks

  • Single Blanks: Indented for vocabulary practice or word guessing quizzes
  • Multiple Blanks: Have users fill blanks boxes with a variety of inputs
  • Reading Blanks: Text comprehension with blanks

Categorization

  • Color Categorize: Sort items by color
  • Single Categorize: Basic categorization exercise

Manual Input

  • Free-form text input exercises

Custom Components

The library includes specialized web components:

  • Letter Picker: ASCII letter selection component, solves unnecessary full-keyboard loading for simple inputs
  • Color Picker: Simple color selection with limited palette, more optimal than built-in API
  • EduMCQ: Enhanced multiple choice component

Architecture

Each quiz type returns a contract structure:

interface ContractType {
  name: string;
  description: string;
  version: number;
  implementation: {
    renderer: (mount: HTMLElement, data: any, options?: RendererOptions) => RendererHandle;
    validator: (data: any) => boolean;
    parser: (code: string) => any;
  };
  html: string;
  css: string;
  // ... 
}

And follows a specific structure:

- Imports
- Renderer
- - Root creation/Variables declaratioln
- - Component Specific functions
- - Initializer
- - Check Function
- - Return
- Parser
- Validator
- Contract

If cloning from GITHUB: ```bash

Install dependencies

pnpm install

Build library

pnpm build

Development mode

pnpm dev

Serve demo

pnpm serve


## Project Structure

src/ ├── elements/ # Custom web components ├── quizzes/ # Quiz type implementations │ ├── mcq/ # Multiple choice │ ├── matching/ # Matching exercises │ ├── blanks/ # Fill-in-the-blanks │ ├── categorize/ # Categorization │ └── manual/ # Manual input ├── services/ # Utility services └── utils/ # Helper functions


## Requirements

- **FontAwesome 5 (cdn)**: Required for icons (add the script link from fontawesome.com)

## Browser Support

Modern browsers with ES2020 support. The library is bundled for browser environments and uses ES modules.

## License

MIT License. Please do attribute credits, would be really appreciated.