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

Uploaded Python 3

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

Hashes for student_feedback_system-1.0.5.tar.gz
Algorithm Hash digest
SHA256 8f07f99623a83611c6210a349d541cd74d2be51ade892d0f7e867711b723bc63
MD5 f4544d50467956e44d74a214b48bb93f
BLAKE2b-256 2d0aaf414b4a0a2a774d6a63d7e613fd3a3048c91aeaad04f36f4606383ce78e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for student_feedback_system-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 35fbb94a27a6c37aeaead058b39c24a38d3de2d7d0432736f82480c3567c89ac
MD5 5dfd99ecc57ca96c3864bae8713d1d39
BLAKE2b-256 8b1dc499fd1b146da7b63161f65fb4fa7c568cb3ead56bf1f1ac03f8c5b351bb

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