Skip to main content

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

student_feedback_system-1.0.0.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

student_feedback_system-1.0.0-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file student_feedback_system-1.0.0.tar.gz.

File metadata

  • Download URL: student_feedback_system-1.0.0.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

Hashes for student_feedback_system-1.0.0.tar.gz
Algorithm Hash digest
SHA256 3bfad1a9aeee5896cf77ed0532b30933ae3e3c76faf81e7fa644e5d852c15cb5
MD5 5de52c20653ed19835306e3cb50f8f65
BLAKE2b-256 a5c15d0f280d92732abf12e3735c9969816f9e53677436378ddbcc3a6ab4a509

See more details on using hashes here.

File details

Details for the file student_feedback_system-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for student_feedback_system-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9e7526ca4291a8be30033187a4e9c88337e2054eddd9709ce7b24741a5941267
MD5 969ae21aea34a4ab1d435381eb073eff
BLAKE2b-256 489d7a4e6d8234bfccbc3b831998a4f941bcfd261da8ac2f8d8d3d70e9ec6a3f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page