{"id":31073363,"url":"https://github.com/arunishrajput/student-feedback-analyzer","last_synced_at":"2026-05-07T01:09:31.556Z","repository":{"id":313924027,"uuid":"1053389480","full_name":"arunishrajput/Student-Feedback-Analyzer","owner":"arunishrajput","description":"AI based Student Feedback Analyzer","archived":false,"fork":false,"pushed_at":"2025-09-09T13:17:26.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-09T16:33:19.327Z","etag":null,"topics":["ai","feedback","mysql","python","railway","streamlit","word-clouds"],"latest_commit_sha":null,"homepage":"https://student-feedback-analyzer.streamlit.app/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arunishrajput.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-09T11:36:17.000Z","updated_at":"2025-09-09T16:18:03.000Z","dependencies_parsed_at":"2025-09-09T16:33:21.263Z","dependency_job_id":"7127d8d5-d83f-45fe-a70d-c7cfeb1b4ff2","html_url":"https://github.com/arunishrajput/Student-Feedback-Analyzer","commit_stats":null,"previous_names":["arunishrajput/student-feedback-analyzer"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/arunishrajput/Student-Feedback-Analyzer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arunishrajput%2FStudent-Feedback-Analyzer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arunishrajput%2FStudent-Feedback-Analyzer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arunishrajput%2FStudent-Feedback-Analyzer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arunishrajput%2FStudent-Feedback-Analyzer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arunishrajput","download_url":"https://codeload.github.com/arunishrajput/Student-Feedback-Analyzer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arunishrajput%2FStudent-Feedback-Analyzer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275348475,"owners_count":25448628,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-15T02:00:09.272Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","feedback","mysql","python","railway","streamlit","word-clouds"],"created_at":"2025-09-16T01:35:45.599Z","updated_at":"2025-09-16T01:35:47.650Z","avatar_url":"https://github.com/arunishrajput.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📚 Student Feedback Analyzer\n\nA **beginner-friendly Python project** that collects, stores, and analyzes student feedback using:\n\n-   🗄️ **MySQL** – for database storage\n-   🌐 **Streamlit** – for interactive UI\n-   🤖 **Google Gemini AI** – for sentiment analysis \u0026 automated summaries\n-   🎨 **WordCloud + Charts** – for data visualization\n\n---\n\n## 🚀 Features\n\n-   ✅ **Feedback Submission** – Students can enter name, subject, rating, and comments.\n-   ✅ **Database Integration** – Feedback stored securely in a MySQL database.\n-   ✅ **Dashboard**:\n\n    -   View all feedback in tabular format.\n    -   See **average rating per subject** in bar charts.\n    -   **Subject-wise Analysis** with:\n\n        -   Word Cloud of comments\n        -   AI-powered Sentiment Analysis (Positive/Negative/Neutral)\n        -   AI-generated Summary of all feedback\n\n---\n\n## 🏗️ Project Architecture\n\n```text\n+----------------+       +------------------+       +-------------------+\n|  Streamlit UI  | \u003c--\u003e  |  MySQL Database  | \u003c--\u003e  |   Data Storage    |\n+----------------+       +------------------+       +-------------------+\n        |\n        v\n+----------------+       +---------------------------+\n|  WordCloud \u0026   |       |   Google Gemini AI API    |\n|  Charts        | \u003c--\u003e  | (Sentiment + Summarizer)  |\n+----------------+       +---------------------------+\n```\n\n---\n\n## ⚙️ Tech Stack\n\n-   **Language**: Python\n-   **Framework**: Streamlit\n-   **Database**: MySQL\n-   **Visualization**: Matplotlib, WordCloud\n-   **AI**: Google Gemini (via Google AI Studio API)\n\n---\n\n## 📂 Project Structure\n\n```\nstudent-feedback-analyzer/\n│\n├── app.py               # Main Streamlit app\n├── requirements.txt     # Python dependencies\n├── .env                 # Environment variables (API key, DB creds)\n└── README.md            # Project documentation\n```\n\n---\n\n## 📦 Installation \u0026 Setup\n\n### 1. Clone the repository\n\n```bash\ngit clone https://github.com/arunishrajput/student-feedback-analyzer.git\ncd student-feedback-analyzer\n```\n\n### 2. Install dependencies\n\n```bash\npip install -r requirements.txt\n```\n\n**requirements.txt** should include:\n\n```txt\nstreamlit\nmysql-connector-python\npandas\nmatplotlib\nwordcloud\npython-dotenv\ngoogle-genai\n```\n\n### 3. Setup MySQL Database\n\n```sql\nCREATE DATABASE feedback_db;\nUSE feedback_db;\n\nCREATE TABLE feedback (\n    id INT AUTO_INCREMENT PRIMARY KEY,\n    student_name VARCHAR(100),\n    subject VARCHAR(100),\n    rating INT,\n    comments TEXT,\n    date_submitted TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n);\n```\n\n### 4. Configure Environment Variables\n\nCreate a `.env` file in the project root:\n\n```ini\n# Google Gemini API Key\nGEMINI_API_KEY=your_google_ai_studio_api_key_here\n\n# MySQL Config\nDB_HOST=localhost\nDB_USER=root\nDB_PASSWORD=your_mysql_password\nDB_NAME=feedback_db\n```\n\n### 5. Run the app\n\n```bash\nstreamlit run app.py\n```\n\n---\n\n## 🎮 Usage Flow\n\n1. **Submit Feedback**\n\n    - Enter Name, Subject, Rating, Comments\n    - Data saved to MySQL\n\n2. **Dashboard**\n\n    - View all raw feedback in a table\n    - See average ratings (per subject)\n    - Choose a subject → WordCloud + Sentiment + AI Summary\n\n---\n\n## 📊 Example Output\n\n-   **Word Cloud**\n\n-   **Average Ratings**\n\n```text\nPhysics        4.2\nChemistry      3.8\nMathematics    4.5\n```\n\n-   **Sentiment Counts (Chemistry)**\n\n```json\n{\n    \"Positive\": 12,\n    \"Negative\": 3,\n    \"Neutral\": 5\n}\n```\n\n-   **AI Summary Example**\n\n\u003e “Most students appreciated the clarity of explanations.\n\u003e A few suggested more real-world examples.\n\u003e Overall feedback is positive with some scope for improvement.”\n\n---\n\n## 💡 Future Improvements\n\n-   🔐 Add login system (students/teachers)\n-   📤 Export reports (PDF/Excel)\n-   📈 Compare subject feedback across semesters\n-   🎤 Voice-based feedback submission\n\n---\n\n## 🎤 Demo Script (for presentation)\n\nSee 👉 [Demo Script Guide](./Demo.md) _(extra file for classroom presentation)_\n\n---\n\n## 👨‍💻 Author\n\n-   **Arunish** (CSE Student, 1st Year)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farunishrajput%2Fstudent-feedback-analyzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farunishrajput%2Fstudent-feedback-analyzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farunishrajput%2Fstudent-feedback-analyzer/lists"}