{"id":25764702,"url":"https://github.com/akshadk7/review-sphere","last_synced_at":"2025-09-08T08:33:46.849Z","repository":{"id":277810700,"uuid":"915436943","full_name":"AkshadK7/Review-Sphere","owner":"AkshadK7","description":"A dynamic review management platform integrating NLP-powered sentiment analysis, clustering, and recommendation systems to enhance user insights and product feedback.","archived":false,"fork":false,"pushed_at":"2025-02-16T09:02:27.000Z","size":1482,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-16T10:19:29.365Z","etag":null,"topics":["autotagging","clustering","natural-language-processing","recommender-system","sentiment-analysis"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AkshadK7.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2025-01-11T20:56:53.000Z","updated_at":"2025-02-16T09:02:30.000Z","dependencies_parsed_at":"2025-02-16T10:19:31.382Z","dependency_job_id":"29fa8c82-562b-4ea3-8fae-3b92dcb80043","html_url":"https://github.com/AkshadK7/Review-Sphere","commit_stats":null,"previous_names":["akshadk7/review-sphere"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AkshadK7%2FReview-Sphere","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AkshadK7%2FReview-Sphere/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AkshadK7%2FReview-Sphere/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AkshadK7%2FReview-Sphere/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AkshadK7","download_url":"https://codeload.github.com/AkshadK7/Review-Sphere/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240935345,"owners_count":19881135,"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","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":["autotagging","clustering","natural-language-processing","recommender-system","sentiment-analysis"],"created_at":"2025-02-26T21:20:13.001Z","updated_at":"2025-02-26T21:20:13.676Z","avatar_url":"https://github.com/AkshadK7.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **ReviewSphere**\n\n_A dynamic review management platform integrating NLP-powered sentiment analysis, clustering, and recommendation systems to enhance user insights and product feedback._\n\n---\n\n## Features\n\n- **Sentiment Analysis**  \n  Automatically detect and classify reviews as positive or negative using a threshold-based sentiment model.\n- **Tag Extraction**  \n  Extract the most common tags from user reviews using Named Entity Recognition (NER).\n- **Review Clustering**  \n  Group similar reviews using K-Means clustering, enabling better insights into customer opinions.\n- **Recommendation Engine**  \n  Suggest products to users based on their review history and preferences.\n- **Data Visualization**\n  - View common tags in a horizontal stack and a pie chart.\n  - Explore overall sentiment in bar and pie charts.\n- **User-Friendly Interface**\n  - Add, view, and manage reviews through an interactive UI.\n  - See scrollable lists of reviews sorted by timestamps.\n\n---\n\n## Requirements\n\n- Python 3.7+\n- Libraries: `sqlite`, `uvicorn`, `fastapi`, `streamlit`, `spacy`, `scikit-learn`\n\n---\n\n## Tech Stack\n\n### **Backend**\n\n- **FastAPI**: Handles API endpoints and CRUD operations.\n- **SQLite**: Lightweight database for persisting product, review, and user data.\n- **Spacy**: Used for Named Entity Recognition (NER) and generating text embeddings for clustering.\n- **TextBlob**: Provides sentiment analysis of review text.\n- **Scikit-Learn**: Implements K-Means clustering for grouping reviews.\n\n### **Frontend**\n\n- **Streamlit**: Offers a clean, interactive UI for submitting and visualizing review data.\n\n---\n\n## Folder Structure\n\n````plaintext\nReview-Sphere/\n│\n├── backend/\n│   ├── app/\n│   │   ├── __init__.py\n│   │   ├── main.py              # FastAPI entry point\n│   │   ├── database.py          # Database models and operations\n│   │   ├── models.py            # Database schema initialization\n│   │   ├── nlp_utils.py         # NLP and clustering utilities\n│   ├── requirements.txt         # Backend dependencies\n│   └── uvicorn_runner.py        # Script to start FastAPI server\n│\n├── frontend/\n│   ├── app.py                   # Streamlit frontend application\n│   ├── requirements.txt         # Frontend dependencies\n│\n└── store.db                     # SQLite database\n\n````\n---\n\n## Installation\n\n### **1. Backend Setup**\n1. Create a virtual environment\n      ```bash\n      conda create --name env_name\n      conda activate env_name\n      ```\n\n2. Navigate to the `backend` directory:\n   ```bash\n   cd backend\n   ```\n3. Install dependencies:\n   ```bash\n    pip install -r requirements.txt\n    ```\n4. Start the FastAPI server:\n   ```bash\n    uvicorn app.main:app --reload\n    ```\n\n### **2. Frontend Setup**\n1. Navigate to the `frontend` directory:\n   ```bash\n    cd frontend\n    ```\n2. Install dependencies:\n   ```bash\n    pip install -r requirements.txt\n    ```\n3. Run the Streamlit app:\n   ```bash\n    streamlit run app.py\n    ```\n\n### **3. Using the Application**\n- Open your browser at the URL provided by Streamlit (default :  [http://localhost:8501](http://localhost:8501)).\n- Select a product from the dropdown, submit reviews, and explore visualizations for sentiment analysis, tags, and clusters.\n- View personalized recommendations for similar products.\n\n---\n\n## Future Enhancements\n- **Deep Learning Integration**: Replace traditional models with Transformer-based architectures for improved sentiment analysis and tagging.\n- **Collaborative Filtering**: Enhance the recommendation engine with collaborative filtering for better user-product matching.\n- **Language Support**: Add support for multiple languages in reviews.\n- **Customizable Dashboards**: Allow users to create custom reports and dashboards.\n\n---\n\n## Contributing\n\nContributions are welcome! Please fork the repository, create a branch, and submit a pull request.\n\n---\n\n## License\n\nThis project is licensed under the MIT License. See the LICENSE file for details.\n\n---\n\nEnjoy Reviewing the world of Recommendations! 🚀\n````\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakshadk7%2Freview-sphere","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakshadk7%2Freview-sphere","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakshadk7%2Freview-sphere/lists"}