Student Feedback System using Python and Machine Learning

Student Feedback System using Python and Machine Learning

Student Feedback System

In today’s education system, it’s important to know how students feel so teachers and schools can improve learning. This Student Feedback System is a web app made with Python and Machine Learning. It takes student feedback and checks if it’s positive, neutral, or negative using sentiment analysis.

Project Overview

In this project, students can give feedback without writing their name. The system then uses machine learning to find out the sentiment — whether the feedback is Positive, Neutral, or Negative.There are different dashboards for students, teachers, and admins, where they can see the feedback results and trends using simple charts.The backend is built using Python and Flask, and it stores data in SQLite. It uses ML models like Naive Bayes and SVM to check feedback, and Matplotlib is used for showing charts. The user interface is made with HTML, CSS, and Bootstrap.

Download New Real Time Projects :-Click here

 Key Features

  • Anonymous Feedback Submission
    Students can submit their feedback without revealing their identities.
  • Sentiment Analysis Using ML Models
    Feedback is processed using pre-trained models (Naive Bayes, SVM) trained on labeled data.
  • Role-Based Authentication
    • Student: Submit feedback
    • Admin: Manage users and view complete feedback history
  • Interactive Dashboards
    Admin users can access dashboards with:
    • Sentiment breakdowns (pie charts and graphs)
    • Total feedback statistics
  • Structured Storage
    All user and feedback data is stored in a SQLite database.
  • Modular Codebase
    The application follows a clean separation of concerns:
    • Models (ML)
    • UI templates
    • Database and logic

 Technologies Used

Area Technology
Backend Python (Flask)
Frontend HTML, CSS, Bootstrap
ML Models Scikit-learn (Naive Bayes, SVM)
Database SQLite (user_data.db)
Visualization Matplotlib

Running the Application

To start the server, simply run:

python server.py

This will launch the web application at http://127.0.0.1:5000/.

User Roles and Access

1. Login

Users navigate to the /login endpoint and are directed to their respective dashboards based on their role:

  • Student
  • Admin

2. Feedback Submission

Students can submit feedback through /feedback, which includes:

  • Feedback text
  • Teacher/department selection

Once submitted:

  • The text is analyzed using a pre-trained ML model.
  • Sentiment is classified as:
    • Positive (1)
    • Neutral (0)
    • Negative (-1)
  • Data is stored in a CSV file (feedback_data table).

3. Admin Dashboards

Admins can:

  • View the total number of feedback submissions
  • Analyze sentiment distribution through pie charts
  • Read feedback entries along with sentiment scores

Visualizations are dynamically generated using Matplotlib or equivalent.

ML Model Integration

ML models are stored in the models/ folder and used within server.py. For example:

MultinomialNB_stemmed_classifier.pkl

These are loaded to analyze incoming feedback automatically.

student feedback review system using python source code student feedback system project in python source code student-feedback review system using python GitHub student management system project in python pdf student management system project in python with MySQL student management system project in python with source code pdf student management system project in python class 12 pdf student-management system python GitHub student feedback system using python and machine learning ppt student feedback system using python and machine learning GitHub student feedback system using python and machine learning pdf student feedback system using python and machine learning geeksforgeek

Share this content:

Post Comment