# 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
- **Badge Progression**: Earn badges from "Dabbler" to "Mastery" based on consistent participation
- **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
## Quick Start
### Installation
```bash
pip install badgequest
```
### Running the Server
```bash
# Initialize the database
badgequest init-db
# Start the Flask server
badgequest run-server --port 5000
```
### For Instructors
1. Extract the LMS form template:
```bash
badgequest extract-lms blackboard --output form.html
```
2. Generate progress reports:
```bash
badgequest generate-progress --students students.txt --course AI101 --output badges.csv
```
## Configuration
BadgeQuest supports course-specific configurations through environment variables:
```bash
# .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 |
## API Endpoints
- `POST /stamp` - Submit a reflection
- `GET /progress/<student_id>` - View student progress
- `GET /verify/<code>` - Verify a reflection code
## Development
```bash
# 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](https://github.com/yourusername/badgequest/issues).
Raw data
{
"_id": null,
"home_page": null,
"name": "badgequest",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "badges, blackboard, education, gamification, lms, reflection",
"author": null,
"author_email": "Michael <michael@example.com>",
"download_url": "https://files.pythonhosted.org/packages/85/1a/4a27f9609644621b237ef4c088a7f711851c5c012349b2728e70b8845738/badgequest-0.1.0.tar.gz",
"platform": null,
"description": "# BadgeQuest \ud83c\udfc6\n\n> Collect, learn, repeat.\n\nBadgeQuest is a gamified reflection system designed for Learning Management Systems (LMS). It transforms student reflections into meaningful achievements through an engaging badge progression system.\n\n## Features\n\n- **Weekly Reflection Tracking**: Students submit reflections that are validated for quality\n- **Smart Validation**: Checks word count, readability, sentiment, and uniqueness\n- **Badge Progression**: Earn badges from \"Dabbler\" to \"Mastery\" based on consistent participation\n- **LMS Integration**: Ready-to-use HTML forms for Blackboard (Canvas and Moodle coming soon)\n- **Instructor Tools**: Generate progress reports for easy grade center uploads\n- **Privacy-First**: Only stores anonymized data with hashed reflections\n- **Configurable**: Support multiple courses with custom badge themes\n\n## Quick Start\n\n### Installation\n\n```bash\npip install badgequest\n```\n\n### Running the Server\n\n```bash\n# Initialize the database\nbadgequest init-db\n\n# Start the Flask server\nbadgequest run-server --port 5000\n```\n\n### For Instructors\n\n1. Extract the LMS form template:\n```bash\nbadgequest extract-lms blackboard --output form.html\n```\n\n2. Generate progress reports:\n```bash\nbadgequest generate-progress --students students.txt --course AI101 --output badges.csv\n```\n\n## Configuration\n\nBadgeQuest supports course-specific configurations through environment variables:\n\n```bash\n# .env file\nSECRET_KEY=your-secret-key-here\nDATABASE_URL=sqlite:///reflections.db\nCORS_ORIGINS=https://your-lms.edu\n```\n\n## Badge Levels\n\nThe default badge progression:\n\n| Weeks | Badge | Title |\n|-------|-------|-------|\n| 1 | \ud83e\uddea | Dabbler |\n| 3 | \ud83e\udd7e | Explorer |\n| 5 | \ud83e\udde0 | Thinker |\n| 7 | \ud83d\udee1\ufe0f | Warrior |\n| 10 | \ud83d\udee0\ufe0f | Builder |\n| 12 | \ud83d\udde3\ufe0f | Explainer |\n| 14+ | \ud83c\udfc6 | Mastery |\n\n## API Endpoints\n\n- `POST /stamp` - Submit a reflection\n- `GET /progress/<student_id>` - View student progress\n- `GET /verify/<code>` - Verify a reflection code\n\n## Development\n\n```bash\n# Clone the repository\ngit clone https://github.com/yourusername/badgequest.git\ncd badgequest\n\n# Install with development dependencies\nuv pip install -e \".[dev]\"\n\n# Run tests\npytest\n\n# Format code\nruff format .\n\n# Type check\nbasedpyright\n```\n\n## License\n\nMIT License - see LICENSE file for details.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## Support\n\nFor issues and feature requests, please use the [GitHub issue tracker](https://github.com/yourusername/badgequest/issues).",
"bugtrack_url": null,
"license": "MIT",
"summary": "Collect, learn, repeat. A reflection badge system for Learning Management Systems.",
"version": "0.1.0",
"project_urls": {
"Documentation": "https://github.com/yourusername/badgequest/tree/main/docs",
"Homepage": "https://github.com/yourusername/badgequest",
"Issues": "https://github.com/yourusername/badgequest/issues",
"Repository": "https://github.com/yourusername/badgequest"
},
"split_keywords": [
"badges",
" blackboard",
" education",
" gamification",
" lms",
" reflection"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "04518d95c23a9db8f95d54d4dfa3e57f2666e3f7607d217435e6f276e714f0f9",
"md5": "2cc77e4a747dccfd2f2f030d0a8593d8",
"sha256": "d5c2189ad107590a1817dfdc32dfc58db49c173a2996540cd5c6472985b81545"
},
"downloads": -1,
"filename": "badgequest-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2cc77e4a747dccfd2f2f030d0a8593d8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 13637,
"upload_time": "2025-07-19T03:33:30",
"upload_time_iso_8601": "2025-07-19T03:33:30.443270Z",
"url": "https://files.pythonhosted.org/packages/04/51/8d95c23a9db8f95d54d4dfa3e57f2666e3f7607d217435e6f276e714f0f9/badgequest-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "851a4a27f9609644621b237ef4c088a7f711851c5c012349b2728e70b8845738",
"md5": "d076e5867217d846f4bd3dff36541247",
"sha256": "91ba06797cfe8ac3c7e48d8aad63c30437e7c01c30b2132a23944c555e19828c"
},
"downloads": -1,
"filename": "badgequest-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "d076e5867217d846f4bd3dff36541247",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 22874,
"upload_time": "2025-07-19T03:33:31",
"upload_time_iso_8601": "2025-07-19T03:33:31.985411Z",
"url": "https://files.pythonhosted.org/packages/85/1a/4a27f9609644621b237ef4c088a7f711851c5c012349b2728e70b8845738/badgequest-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-19 03:33:31",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yourusername",
"github_project": "badgequest",
"github_not_found": true,
"lcname": "badgequest"
}