A plug-and-play student feedback web application built with Flask
Project description
Student Feedback System
A plug-and-play student feedback web application built with Flask. Install it, run one command, and you have a fully working feedback portal.
Installation
pip install student-feedback-system
Quickstart
feedback-system run
# Open http://localhost:5000
CLI Commands
feedback-system run # Start app (default port 5000)
feedback-system run --port 8080 # Custom port
feedback-system run --debug # Debug mode
feedback-system run --config development
feedback-system init-db # Create database tables
feedback-system export-csv # Export all feedback to feedback.csv
feedback-system reset-db # ⚠ Delete all data and recreate DB
feedback-system info # Show current configuration
feedback-system --version # Show version
Configuration via Environment Variables
export DB_PATH=/var/data/feedback.db
export SECRET_KEY=your-production-secret
export PORT=8080
export PER_PAGE=10
export APP_NAME="My University Feedback"
feedback-system run
Configuration via Code
from feedback_system import create_app
from feedback_system.config import Config
class MyConfig(Config):
DB_PATH = '/var/data/feedback.db'
SECRET_KEY = 'super-secret-key'
PER_PAGE = 10
APP_NAME = 'My University Feedback'
APP_TAGLINE= 'Helping Faculty Improve Every Semester'
app = create_app(config=MyConfig)
app.run(host='0.0.0.0', port=8080)
Embed in an Existing Flask App
from flask import Flask
from feedback_system.routes import feedback_bp
from feedback_system.database import init_db
app = Flask(__name__)
app.config['DB_PATH'] = './feedback.db'
app.config['PER_PAGE'] = 6
app.secret_key = 'your-secret'
# Mount at /feedback prefix
app.register_blueprint(feedback_bp, url_prefix='/feedback')
with app.app_context():
init_db(app.config['DB_PATH'])
# Dashboard → http://localhost:5000/feedback/
# Submit → http://localhost:5000/feedback/submit
Use the Database Layer Directly
from feedback_system.database import init_db, add_feedback, get_stats, export_csv
DB = './feedback.db'
init_db(DB)
add_feedback(DB, 'Alice', 'DevOps Lab', '5', 'Best lab ever!')
print(get_stats(DB))
csv_data = export_csv(DB)
with open('backup.csv', 'w') as f:
f.write(csv_data)
Features
- Submit, view, edit, delete feedback
- Star ratings (1–5)
- Search and filter
- Pagination (configurable per page)
- Rating distribution chart
- CSV export via CLI and HTTP
- Professional corporate UI (navy/gold theme)
- Health check endpoint at
/health
Tech Stack
Flask · SQLite · Gunicorn · Chart.js · Click
License
MIT
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 student_feedback_system-1.0.5.tar.gz.
File metadata
- Download URL: student_feedback_system-1.0.5.tar.gz
- Upload date:
- Size: 15.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f07f99623a83611c6210a349d541cd74d2be51ade892d0f7e867711b723bc63
|
|
| MD5 |
f4544d50467956e44d74a214b48bb93f
|
|
| BLAKE2b-256 |
2d0aaf414b4a0a2a774d6a63d7e613fd3a3048c91aeaad04f36f4606383ce78e
|
File details
Details for the file student_feedback_system-1.0.5-py3-none-any.whl.
File metadata
- Download URL: student_feedback_system-1.0.5-py3-none-any.whl
- Upload date:
- Size: 18.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35fbb94a27a6c37aeaead058b39c24a38d3de2d7d0432736f82480c3567c89ac
|
|
| MD5 |
5dfd99ecc57ca96c3864bae8713d1d39
|
|
| BLAKE2b-256 |
8b1dc499fd1b146da7b63161f65fb4fa7c568cb3ead56bf1f1ac03f8c5b351bb
|