Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mujtabamohamed/chat-pdf
https://github.com/mujtabamohamed/chat-pdf
Last synced: 17 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/mujtabamohamed/chat-pdf
- Owner: mujtabamohamed
- Created: 2024-12-17T18:17:37.000Z (18 days ago)
- Default Branch: main
- Last Pushed: 2024-12-17T19:30:00.000Z (18 days ago)
- Last Synced: 2024-12-17T19:41:01.238Z (18 days ago)
- Language: TypeScript
- Size: 37.6 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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](./assets/Chat-PDF.gif)
## 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
```
2. Install dependencies:
```
npm install
```
3. Run the development server:
```
npm run dev
```4. Open [http://localhost:3000](http://localhost:3000) with your browser.
## Deployment
The easiest way to deploy this application is using [Vercel](https://vercel.com):
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
- [Next.js](https://nextjs.org/)
- [OpenAI](https://openai.com/)
- [Firebase](https://firebase.google.com/)
- [Clerk](https://clerk.dev/)
- [Stripe](https://stripe.com/)
- [LangChain](https://langchain.org/)
- [Pinecone](https://www.pinecone.io/)