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.2.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.2-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: student_feedback_system-1.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 23db4839924011fe5e4a2b1b60e1c9a8ed951d5eb69fe1243dfcf06f28c6f265
MD5 cc830b7d0ccefc472996514a9af91619
BLAKE2b-256 5b7ef942d9895eb24870a2b0377011cb75f37b36c4e00d040021efdbfa2d6216

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for student_feedback_system-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7d5c83d226a646d1e20ad3c0de92e56904dd1cabcdcd1ecb6bd5136b75c9c028
MD5 a6937b1c1d31e10dc3e9a81084ec0731
BLAKE2b-256 43d29207b004e34c798db04da0ed5711aedad2cd31865f7ba33d41a543384520

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