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

Uploaded Python 3

File details

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

File metadata

  • Download URL: student_feedback_system-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 592fd618e7609c2b48cb37cfd36c8eacde1ef80e1b8831c84f3409c96cdd7122
MD5 6c7bffb84e07e1876658b797e293cce8
BLAKE2b-256 41b909385da760d97648e69326cfaf4859bdfd788c28f0367fd566a4a203969b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for student_feedback_system-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 232c4b07e8eaee15114c32ee49931f0845cf63dd66cfde3405243ac7f85f6be2
MD5 b1241014b747a4614de83691af91710f
BLAKE2b-256 f1fee5fece4cc2e5a5c04d80fade5e81114b908cfd19f69583f1c7a375f61482

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