Skip to main content

BadgeQuest 🏆

Collect, learn, repeat.

BadgeQuest is a gamified reflection system designed for Learning Management Systems (LMS). It transforms student reflections into meaningful achievements through an engaging badge progression system.

Features

  • Weekly Reflection Tracking: Students submit reflections that are validated for quality
  • Smart Validation: Checks word count, readability, sentiment, and uniqueness
  • Similarity Detection: Prevents resubmission of previous reflections with minor changes (80% threshold)
  • Badge Progression: Earn badges from "Dabbler" to "Mastery" based on consistent participation
  • Micro-Credentials: Theme-based achievements for focused reflection topics (e.g., AI Ethics Explorer, Innovation Champion)
  • LMS Integration: Ready-to-use HTML forms for Blackboard (Canvas and Moodle coming soon)
  • Instructor Tools: Generate progress reports for easy grade center uploads
  • Privacy-First: Only stores anonymized data with hashed reflections
  • Configurable: Support multiple courses with custom badge themes and micro-credentials

Quick Start

Installation

# Install from PyPI
pip install badge-quest

# Or with uv (recommended)
uv pip install badge-quest

Running the Server

# Initialize the database
badgequest init-db

# Start the Flask server
badgequest run-server --port 5000

For Instructors

  1. Extract the LMS form template:
badgequest extract-lms blackboard --output form.html
  1. Generate progress reports:
badgequest generate-progress --students students.txt --course AI101 --output badges.csv

Configuration

BadgeQuest supports course-specific configurations through environment variables:

# .env file
SECRET_KEY=your-secret-key-here
DATABASE_URL=sqlite:///reflections.db
CORS_ORIGINS=https://your-lms.edu

Badge Levels

The default badge progression:

Weeks Badge Title
1 🧪 Dabbler
3 🥾 Explorer
5 🧠 Thinker
7 🛡️ Warrior
10 🛠️ Builder
12 🗣️ Explainer
14+ 🏆 Mastery

Micro-Credentials

Students can earn theme-based micro-credentials by submitting reflections with specific themes. Example configuration:

"micro_credentials": {
    "ethics_explorer": {
        "name": "AI Ethics Explorer",
        "emoji": "⚖️",
        "description": "Demonstrated strong ethical analysis in AI reflections",
        "themes": ["ethics", "responsibility"],
        "min_submissions": 2
    }
}

API Endpoints

  • POST /stamp - Submit a reflection (with optional theme_id)
  • GET /progress/<student_id> - View student progress including micro-credentials
  • GET /verify/<code> - Verify a reflection code
  • GET /api/micro-credentials/<student_id> - Get detailed micro-credentials information
  • POST /api/progress/bulk - Get progress for multiple students including micro-credentials

Development

# Clone the repository
git clone https://github.com/yourusername/badgequest.git
cd badgequest

# Install with development dependencies
uv pip install -e ".[dev]"

# Run tests
pytest

# Format code
ruff format .

# Type check
basedpyright

License

MIT License - see LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Support

For issues and feature requests, please use the GitHub issue tracker.

Metadata

Release files for badge-quest 0.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for badge-quest 0.3.3
File Size Uploaded
badge_quest-0.3.3.tar.gz 59.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for badge-quest 0.3.3
File Interpreter ABI Platform
badge_quest-0.3.3-py3-none-any.whl Python 3 none any Details

Total release size: 80.2 kB

Release files / badge_quest-0.3.3.tar.gz

Download URL badge_quest-0.3.3.tar.gz
Size 59.3 kB
Tags Source
SHA-256 checksum
How to use checksums
983d8bdb32be9c52b273a402119c593c221cd06b4c348d58a979978f39240dea
BLAKE2b-256 checksum
How to use checksums
0cf612ca5f2a7b8843220a51713a7d373e74fe4f94f32b9f56929007c85ccd6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / badge_quest-0.3.3-py3-none-any.whl

Download URL badge_quest-0.3.3-py3-none-any.whl
Size 20.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
11d77896617a9800865d4ccd86c391bbf44b798a4f2fee08fd32a2b8cfba2381
BLAKE2b-256 checksum
How to use checksums
29a9fe3a85456474223309fdf9c926ecb24d5e8b58c49818c5bc73899f61f0d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.3.3 This release

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page