https://github.com/arunishrajput/student-feedback-analyzer
AI based Student Feedback Analyzer
https://github.com/arunishrajput/student-feedback-analyzer
ai feedback mysql python railway streamlit word-clouds
Last synced: about 2 months ago
JSON representation
AI based Student Feedback Analyzer
- Host: GitHub
- URL: https://github.com/arunishrajput/student-feedback-analyzer
- Owner: arunishrajput
- Created: 2025-09-09T11:36:17.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-09-09T13:17:26.000Z (10 months ago)
- Last Synced: 2025-09-09T16:33:19.327Z (10 months ago)
- Topics: ai, feedback, mysql, python, railway, streamlit, word-clouds
- Language: Python
- Homepage: https://student-feedback-analyzer.streamlit.app/
- Size: 9.77 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# ๐ Student Feedback Analyzer
A **beginner-friendly Python project** that collects, stores, and analyzes student feedback using:
- ๐๏ธ **MySQL** โ for database storage
- ๐ **Streamlit** โ for interactive UI
- ๐ค **Google Gemini AI** โ for sentiment analysis & automated summaries
- ๐จ **WordCloud + Charts** โ for data visualization
---
## ๐ Features
- โ
**Feedback Submission** โ Students can enter name, subject, rating, and comments.
- โ
**Database Integration** โ Feedback stored securely in a MySQL database.
- โ
**Dashboard**:
- View all feedback in tabular format.
- See **average rating per subject** in bar charts.
- **Subject-wise Analysis** with:
- Word Cloud of comments
- AI-powered Sentiment Analysis (Positive/Negative/Neutral)
- AI-generated Summary of all feedback
---
## ๐๏ธ Project Architecture
```text
+----------------+ +------------------+ +-------------------+
| Streamlit UI | <--> | MySQL Database | <--> | Data Storage |
+----------------+ +------------------+ +-------------------+
|
v
+----------------+ +---------------------------+
| WordCloud & | | Google Gemini AI API |
| Charts | <--> | (Sentiment + Summarizer) |
+----------------+ +---------------------------+
```
---
## โ๏ธ Tech Stack
- **Language**: Python
- **Framework**: Streamlit
- **Database**: MySQL
- **Visualization**: Matplotlib, WordCloud
- **AI**: Google Gemini (via Google AI Studio API)
---
## ๐ Project Structure
```
student-feedback-analyzer/
โ
โโโ app.py # Main Streamlit app
โโโ requirements.txt # Python dependencies
โโโ .env # Environment variables (API key, DB creds)
โโโ README.md # Project documentation
```
---
## ๐ฆ Installation & Setup
### 1. Clone the repository
```bash
git clone https://github.com/arunishrajput/student-feedback-analyzer.git
cd student-feedback-analyzer
```
### 2. Install dependencies
```bash
pip install -r requirements.txt
```
**requirements.txt** should include:
```txt
streamlit
mysql-connector-python
pandas
matplotlib
wordcloud
python-dotenv
google-genai
```
### 3. Setup MySQL Database
```sql
CREATE DATABASE feedback_db;
USE feedback_db;
CREATE TABLE feedback (
id INT AUTO_INCREMENT PRIMARY KEY,
student_name VARCHAR(100),
subject VARCHAR(100),
rating INT,
comments TEXT,
date_submitted TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
### 4. Configure Environment Variables
Create a `.env` file in the project root:
```ini
# Google Gemini API Key
GEMINI_API_KEY=your_google_ai_studio_api_key_here
# MySQL Config
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=your_mysql_password
DB_NAME=feedback_db
```
### 5. Run the app
```bash
streamlit run app.py
```
---
## ๐ฎ Usage Flow
1. **Submit Feedback**
- Enter Name, Subject, Rating, Comments
- Data saved to MySQL
2. **Dashboard**
- View all raw feedback in a table
- See average ratings (per subject)
- Choose a subject โ WordCloud + Sentiment + AI Summary
---
## ๐ Example Output
- **Word Cloud**
- **Average Ratings**
```text
Physics 4.2
Chemistry 3.8
Mathematics 4.5
```
- **Sentiment Counts (Chemistry)**
```json
{
"Positive": 12,
"Negative": 3,
"Neutral": 5
}
```
- **AI Summary Example**
> โMost students appreciated the clarity of explanations.
> A few suggested more real-world examples.
> Overall feedback is positive with some scope for improvement.โ
---
## ๐ก Future Improvements
- ๐ Add login system (students/teachers)
- ๐ค Export reports (PDF/Excel)
- ๐ Compare subject feedback across semesters
- ๐ค Voice-based feedback submission
---
## ๐ค Demo Script (for presentation)
See ๐ [Demo Script Guide](./Demo.md) _(extra file for classroom presentation)_
---
## ๐จโ๐ป Author
- **Arunish** (CSE Student, 1st Year)