Collect, learn, repeat. A reflection badge system for Learning Management Systems.
Project description
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
- Extract the LMS form template:
badgequest extract-lms blackboard --output form.html
- 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-credentialsGET /verify/<code>- Verify a reflection codeGET /api/micro-credentials/<student_id>- Get detailed micro-credentials informationPOST /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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file badge_quest-0.3.3.tar.gz.
File metadata
- Download URL: badge_quest-0.3.3.tar.gz
- Upload date:
- Size: 59.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
983d8bdb32be9c52b273a402119c593c221cd06b4c348d58a979978f39240dea
|
|
| MD5 |
0eddd8f8715b8921a67f7c4e0683f1ce
|
|
| BLAKE2b-256 |
0cf612ca5f2a7b8843220a51713a7d373e74fe4f94f32b9f56929007c85ccd6f
|
File details
Details for the file badge_quest-0.3.3-py3-none-any.whl.
File metadata
- Download URL: badge_quest-0.3.3-py3-none-any.whl
- Upload date:
- Size: 20.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11d77896617a9800865d4ccd86c391bbf44b798a4f2fee08fd32a2b8cfba2381
|
|
| MD5 |
0a95f4eddea0c8cc5c3cb1386e8903f1
|
|
| BLAKE2b-256 |
29a9fe3a85456474223309fdf9c926ecb24d5e8b58c49818c5bc73899f61f0d4
|