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.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| badge_quest-0.3.3.tar.gz | 59.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|