https://github.com/invincible1602/feedbacksystem
A full-stack feedback system that leverages advanced NLP and interactive dashboards to analyze customer sentiment in real time. Built using FastAPI, React, and Chart.js.
https://github.com/invincible1602/feedbacksystem
fastapi machine-learning python reactjs sentence-transformers
Last synced: 2 months ago
JSON representation
A full-stack feedback system that leverages advanced NLP and interactive dashboards to analyze customer sentiment in real time. Built using FastAPI, React, and Chart.js.
- Host: GitHub
- URL: https://github.com/invincible1602/feedbacksystem
- Owner: Invincible1602
- Created: 2025-03-16T11:41:53.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-16T12:05:34.000Z (over 1 year ago)
- Last Synced: 2025-03-16T12:37:26.074Z (over 1 year ago)
- Topics: fastapi, machine-learning, python, reactjs, sentence-transformers
- Language: JavaScript
- Homepage: https://invincible1602.github.io/feedbacksystem/
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Public Feedback System
This project provides a full-stack solution for analyzing public feedback using a FastAPI backend and a React frontend. It classifies user feedback into positive, negative, or neutral sentiments, generates tags based on the analysis, and stores analytics per company. An email notification is triggered when negative feedback exceeds a configurable threshold.
## Features
- **Sentiment Classification:** Uses Hugging Face's Transformers and Sentence Transformers to analyze feedback.
- **Tag Generation:** Associates feedback with tags derived from semantic similarity and keyword checks.
- **Analytics Dashboard:** Tracks sentiment counts and tags per company.
- **Email Notifications:** Alerts administrators when negative feedback crosses a set threshold.
- **API Endpoints:**
- `/classify/` – Accepts feedback and company name, performs analysis, and updates analytics.
- `/analytics/` – Retrieves analytics data. Optionally filters data by company.
- `/reset/` – (For testing purposes only) Resets the analytics data for a specified company. Note: In the final product, this endpoint will be removed or secured since resetting will delete stored data.
- `/` – Health check endpoint confirming that the API is running.
## Prerequisites
- Python 3.8 or later
- Node.js and npm (for the frontend)
- Git
## Installation
1. **Clone the Repository:**
```bash
git clone https://github.com/Invincible1602/Public-Feedback-System.git
```
Screenshots:
