Skip to content

Latest commit

Β 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ AI Text Summarization App

A powerful React-based text summarization application that uses advanced AI algorithms to generate high-quality summaries with 8+ score English quality. The app features multiple AI models, sentiment analysis, export capabilities, and a stunning modern responsive interface with gradient design.

GitHub React Vite Tailwind CSS

🎯 Main Purpose

This application is designed to help users quickly understand and digest large amounts of text content by:

  • Summarizing long articles, documents, and text using three different AI approaches
  • Analyzing sentiment and emotions in the text content
  • Providing structured, readable summaries that score 8+ in English quality
  • Exporting summaries in TXT format with proper formatting
  • Maintaining history of all previous summaries for easy reference
  • Offering different AI models for various summarization needs
  • Supporting text file uploads (.txt files only) with drag-and-drop

✨ Key Features

πŸ€– Three AI Models

  • BART Large CNN (Polished Abstractive AI): Creates fluid, polished summaries with smooth transitions
  • Pegasus XSum (Polished Extractive AI): Selects the most important sentences with perfect flow
  • T5 Small (Polished Q&A AI): Creates structured summaries with fluid language and smooth organization

πŸ“Š Advanced Features

  • Text Input: Manual input or file upload (.txt files only)
  • Sentiment Analysis: Real-time emotion detection
  • Export Options: TXT download with proper formatting and copy to clipboard
  • History Panel: Track all previous summaries (50 items max)
  • Usage Limits: Clear project limitations and character counter
  • Responsive Design: Works on all devices
  • Notification System: Success, error, warning, and info alerts
  • Modern UI: Beautiful gradient header with glassmorphism effects
  • Drag & Drop: Easy file upload with visual feedback

🎯 Quality Features

  • 8+ Score Summaries: Polished, fluid language with smooth transitions
  • Complete Sentences: No fragments or incomplete thoughts
  • Natural Flow: Professional, easy-to-read presentation
  • Smart Analysis: Advanced content analysis and key point extraction

πŸ“‹ Project Limitations

  • Text Length: 50-10,000 characters per summary
  • History Items: Store up to 50 previous summaries
  • File Size: Maximum 5MB for uploaded files
  • File Types: TXT files only (PDF support removed)
  • Processing Time: ~2 seconds per summary
  • Daily Usage: Unlimited summaries (local storage)
  • Browser Support: Modern browsers with JavaScript enabled
  • Data Storage: All data stored locally (no external servers)

πŸ› οΈ Technology Stack

Frontend Technologies

  • React 18.3.1 - Modern UI library for building interactive interfaces
  • Vite 4.5.3 - Fast build tool and development server
  • Tailwind CSS 3.3.0 - Utility-first CSS framework for styling
  • JavaScript ES6+ - Modern JavaScript features

Libraries & Dependencies

  • react-dropzone - File upload handling with drag-and-drop
  • file-saver - File download functionality
  • PostCSS - CSS processing and optimization
  • Axios - HTTP client for future API integrations

Development Tools

  • Node.js 20.10.0 - JavaScript runtime environment
  • npm - Package manager
  • ESLint - Code linting and quality assurance
  • Hot Module Replacement (HMR) - Real-time development updates

πŸš€ Installation & Setup

Prerequisites

  • Node.js (version 20.10.0 or higher)
  • npm (comes with Node.js)
  • Modern web browser

Installation Steps

  1. Clone or Download the Project

    # If using git
    git clone https://github.com/prodip/ai-text-summarization-app.git
    cd ai-text-summarization-app
    
    # Or download and extract the ZIP file
  2. Install Dependencies

    npm install
  3. Start Development Server

    npm run dev
  4. Open in Browser

    http://localhost:5173
    

Quick Start

# Clone the repository
git clone https://github.com/prodip/ai-text-summarization-app.git

# Navigate to project directory
cd ai-text-summarization-app

# Install dependencies
npm install

# Start development server
npm run dev

# Open http://localhost:5173 in your browser

Available Scripts

# Start development server
npm run dev

# Build for production
npm run build

# Preview production build
npm run preview

# Lint code
npm run lint

πŸ“ Project Structure

ai-text-summarization-app/
β”œβ”€β”€ public/
β”‚   └── vite.svg                 # Vite logo
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ TextInput.jsx        # Text input and TXT file upload component
β”‚   β”‚   β”œβ”€β”€ SummaryDisplay.jsx   # Summary output display component
β”‚   β”‚   β”œβ”€β”€ SentimentAnalysis.jsx # Emotion analysis component
β”‚   β”‚   β”œβ”€β”€ ExportOptions.jsx    # TXT export and clipboard functionality
β”‚   β”‚   β”œβ”€β”€ HistoryPanel.jsx     # Summary history management
β”‚   β”‚   β”œβ”€β”€ UsageLimits.jsx      # Project limitations display
β”‚   β”‚   └── NotificationSystem.jsx # Alert notifications system
β”‚   β”œβ”€β”€ services/
β”‚   β”‚   └── summarizationService.js # AI logic and text validation
β”‚   β”œβ”€β”€ assets/
β”‚   β”‚   └── react.svg            # React logo
β”‚   β”œβ”€β”€ App.jsx                  # Main application component with gradient header
β”‚   β”œβ”€β”€ App.css                  # Application styles
β”‚   β”œβ”€β”€ main.jsx                 # Application entry point
β”‚   └── index.css                # Global styles and Tailwind imports
β”œβ”€β”€ package.json                 # Dependencies and scripts
β”œβ”€β”€ package-lock.json           # Dependency lock file
β”œβ”€β”€ vite.config.js              # Vite configuration
β”œβ”€β”€ tailwind.config.js          # Tailwind CSS configuration
β”œβ”€β”€ postcss.config.js           # PostCSS configuration
β”œβ”€β”€ eslint.config.js            # ESLint configuration
β”œβ”€β”€ index.html                  # Main HTML template
└── README.md                   # Project documentation

🎨 User Interface

Main Components

  • Header: Beautiful gradient header with glassmorphism effects and animated elements
  • Text Input Area: Manual text input and TXT file upload with drag-and-drop
  • AI Model Selection: Choose between three AI models with descriptions
  • Summary Display: Shows generated summary with statistics and highlighting
  • Sentiment Analysis: Displays emotion analysis results with visual indicators
  • Export Options: Download summary in TXT format and copy to clipboard
  • History Panel: Access previous summaries with search functionality
  • Usage Limits: Display current usage and project limitations

Design Features

  • Responsive Layout: Works on desktop, tablet, and mobile
  • Modern UI: Clean, professional design with Tailwind CSS
  • Gradient Design: Beautiful blue-to-purple gradient header
  • Glassmorphism Effects: Semi-transparent elements with backdrop blur
  • Smooth Animations: Hover effects, scale animations, and icon rotations
  • Accessibility: Keyboard navigation and screen reader support
  • Visual Feedback: Loading states, progress indicators, and notifications

πŸ“Š Example Summaries

BART (Polished Abstractive AI):

"This text explores artificial intelligence and healthcare. Artificial intelligence is revolutionizing healthcare by enabling early disease detection through machine learning algorithms. Building on this, recent studies show that AI can identify cancer with 95% accuracy, significantly improving patient outcomes. Moreover, implementing AI in healthcare requires addressing privacy concerns and ensuring data security. Research demonstrates that the potential benefits are enormous, with experts predicting it could save millions of lives annually."

Pegasus (Polished Extractive AI):

"Artificial intelligence is revolutionizing healthcare by enabling early disease detection through machine learning algorithms. Recent studies show that AI can identify cancer with 95% accuracy, significantly improving patient outcomes. However, implementing AI in healthcare requires addressing privacy concerns and ensuring data security."

T5 (Polished Q&A AI):

"What is this about? artificial intelligence and healthcare Key Question: How is AI revolutionizing healthcare? Answer: Artificial intelligence is revolutionizing healthcare by enabling early disease detection through machine learning algorithms. Main Points: [Structured key points with evidence] Summary: This text offers valuable insights into artificial intelligence and healthcare."

πŸ”§ Development

Code Structure

  • Component-based architecture using React functional components
  • Custom hooks for state management and side effects
  • Service layer for AI logic and business rules
  • Responsive design with mobile-first approach
  • Modern JavaScript with ES6+ features

Key Functions

  • Text Processing: Input validation, file parsing, and text analysis
  • AI Summarization: Three different algorithms for various needs
  • Export Functionality: PDF generation with proper formatting
  • History Management: Local storage for summary persistence
  • Notification System: User feedback and error handling

πŸš€ Deployment

Production Build

npm run build

Deployment Options

  • Static Hosting: Netlify, Vercel, GitHub Pages
  • CDN: CloudFlare, AWS CloudFront
  • Server: Apache, Nginx, Express.js

Environment Variables

No environment variables required for basic functionality.

πŸ“ License

MIT License - Feel free to use this project for learning and development.

πŸš€ Future Upgrades

When time permits, the following features could be added:

Planned Features

  • Real AI Integration: Connect to actual AI APIs (OpenAI, Hugging Face, etc.)
  • More File Formats: Support for PDF, DOCX, and other document types
  • Advanced Export: PDF generation with custom formatting
  • User Accounts: Authentication and cloud storage
  • API Endpoints: RESTful API for backend integration
  • Real-time Collaboration: Multiple users working on summaries
  • Advanced Analytics: Detailed usage statistics and insights
  • Custom AI Models: User-defined summarization parameters
  • Batch Processing: Multiple text summarization at once
  • Mobile App: React Native version for mobile devices

Technical Improvements

  • Performance Optimization: Lazy loading and code splitting
  • PWA Support: Progressive Web App capabilities
  • Offline Mode: Work without internet connection
  • Database Integration: PostgreSQL/MongoDB for data persistence
  • Caching System: Redis for improved performance
  • Testing Suite: Comprehensive unit and integration tests
  • CI/CD Pipeline: Automated testing and deployment

🀝 Contributing

We welcome contributions! Here's how you can help:

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

Development Guidelines

  • Follow the existing code style
  • Add comments for complex logic
  • Test your changes thoroughly
  • Update documentation if needed
  • Ensure responsive design works

πŸ“ž Support

For questions, issues, or feature requests, please open an issue in the repository.

πŸ‘¨β€πŸ’» Author

Prodip - @prodip


Built with ❀️ using React, Vite, and Tailwind CSS

_Last updated: 11 Oct 2025

About

AI Text Summarization App - A React-based web app that uses three different AI models (BART, Pegasus, T5) to generate high-quality text summaries with sentiment analysis, export options, and a modern responsive UI.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages