Skip to content

mujtabamohamed/Chat-PDF

Repository files navigation

Chat with PDF - Interactive Document Companion

A modern web application that transforms static PDFs into interactive conversations using AI. Built with Next.js, Firebase, and OpenAI.

Chat PDF Demo

Features

🚀 Core Features

  • PDF Document Management
    • Upload and store PDF documents
    • Interactive PDF viewer with zoom and rotation controls
    • Document organization with size and upload date tracking
    • Cloud storage integration with Firebase

💬 AI Chat Capabilities

  • Intelligent Conversations
    • Chat with your PDF documents using natural language
    • Context-aware responses based on document content
    • Chat history memorization
    • Powered by OpenAI's GPT-4

💎 Premium Features

  • Free Tier

    • Store up to 2 documents
    • 3 messages per document
    • Basic AI chat functionality
  • Pro Plan ($5.99/month)

    • Store up to 20 documents
    • 100 messages per document
    • Advanced AI chat with memory recall
    • Document deletion capability
    • Advanced analytics
    • Priority support

Tech Stack

  • Frontend: Next.js 15, React 18, TailwindCSS
  • Backend: Firebase (Firestore & Storage)
  • Authentication: Clerk
  • Gen AI: OpenAI GPT-4, LangChain
  • Payment: Stripe
  • Styling: Tailwind CSS, shadcn/ui

Installation

  1. Clone the repository:
git clone https://github.com/mujtabamohamed/Chat-PDF.git
cd Chat-PDF
  1. Install dependencies:
npm install
  1. Run the development server:
npm run dev
  1. Open http://localhost:3000 with your browser.

Deployment

The easiest way to deploy this application is using Vercel:

  1. Push your code to a GitHub repository
  2. Import your project into Vercel
  3. Add your environment variables
  4. Deploy!

Project Structure

  • /app - Next.js app router pages and layouts
  • /components - Reusable React components
  • /actions - Server actions for data mutations
  • /lib - Utility functions and configurations
  • /hooks - Custom React hooks
  • /public - Static assets

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

Acknowledgments

About

A modern web application that transforms static PDFs into interactive conversations using AI. Built with Next.js, Firebase, and OpenAI.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors