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

Uploaded Python 3

File details

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

File metadata

  • Download URL: student_feedback_system-1.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 6c296189a06af1e23f5008f7aa1e606f8b15d14cf0793c2f054e954c77e0cad0
MD5 81d5229d9b274593e578bcd484560853
BLAKE2b-256 b8477d0f959b962f1ba543beef4f7157aac64f143c491d74f33415a78eabf47e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for student_feedback_system-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 596e288c69e43b02343cb8cb17419a4321e2e4981a433680ecb438b97ed3396a
MD5 087d920067cc9c09d6f293dd4b199dc3
BLAKE2b-256 668bf18bd45a0369c1b82f88280bfadf8ae98dfa25ba76d54716a68635529288

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