Skip to content

A modern sentiment analysis web app built with Next.js and Flask. Features real-time text analysis, interactive dashboards, and export capabilities. Uses TextBlob for NLP and Tremor for beautiful visualizations. πŸš€

Notifications You must be signed in to change notification settings

myselfAbdullah007/sentimental-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Sentiment Analysis Web Application

A modern web application that performs sentiment analysis on text input using TextBlob, featuring a beautiful UI built with Next.js and Flask.

🌟 Features

  • Real-time Sentiment Analysis

    • Polarity and subjectivity scoring
    • Sentiment categorization (Positive, Negative, Neutral)
    • Emoji representation of sentiment
    • Language detection
  • Advanced Analytics Dashboard

    • Sentiment distribution visualization
    • Word frequency analysis
    • Sentiment trend over time
    • Key metrics display
  • Export Capabilities

    • Export analysis results to JSON
    • Export analysis results to CSV
    • Automatic file naming with timestamps
  • Modern UI/UX

    • Responsive design
    • Dark/Light mode support
    • Interactive charts and graphs
    • Real-time updates

πŸ“Έ Screenshots

1. Main Interface

Main Interface The main interface showing the text input area and analysis options

2. Analysis Results

Analysis Results Detailed sentiment analysis results with polarity and subjectivity scores

3. Dashboard Overview

Dashboard Overview Analytics dashboard showing sentiment distribution and key metrics

4. Dark Mode

Word Frequency Word frequency visualization and detailed text analysis

5. Export Options

Export Options Export functionality with JSON and CSV format options

πŸ› οΈ Tech Stack

  • Frontend:

    • Next.js
    • TypeScript
    • Tailwind CSS
    • Tremor (for charts)
    • Framer Motion (for animations)
  • Backend:

    • Flask
    • TextBlob
    • Flask-CORS
    • Gunicorn

πŸš€ Getting Started

Prerequisites

  • Node.js 18+ and npm
  • Python 3.8+
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/myselfAbdullah007/sentimental-analysis.git
    cd sentimental-analysis
  2. Set up the Backend

    cd backend
    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    pip install -r requirements.txt
    python app.py
  3. Set up the Frontend

    cd frontend
    npm install
    npm run dev
  4. Access the Application

πŸ“ API Endpoints

  • POST /api/analyze

    • Analyzes text sentiment
    • Request body: { "text": "Your text here" }
  • POST /api/export

    • Exports analysis results
    • Request body: { "analysis": {...}, "format": "json" | "csv" }

πŸš€ Deployment

The application is deployed using:

  • Frontend: Vercel
  • Backend: Render

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘₯ Authors

πŸ™ Acknowledgments

  • TextBlob for sentiment analysis
  • Tremor for beautiful charts
  • Next.js team for the amazing framework
  • Flask team for the Python backend framework

About

A modern sentiment analysis web app built with Next.js and Flask. Features real-time text analysis, interactive dashboards, and export capabilities. Uses TextBlob for NLP and Tremor for beautiful visualizations. πŸš€

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published