Skip to content

heyitsadityaa/chat-with-pdf

Repository files navigation

Chat with PDF

Link of the Deployed Project.

Chat with PDF is a TypeScript-based project that allows users to interact with PDF documents through a chat interface. This project leverages Node.js and various npm packages to provide a seamless experience for parsing and querying PDF content.

Table of Contents

Installation

To get started with Chat with PDF, follow these steps:

  1. Clone the repository:

    git clone https://github.com/your-username/chat-with-pdf.git
    cd chat-with-pdf
  2. Install the dependencies:

    npm install
  3. Build the project:

    npm run build

Usage

After installing the dependencies and building the project, you can start the application with:

npm start

Technologies Used in Chat with PDF

Core Technologies

  1. Next.js: React framework for server-side rendering and static site generation.
  2. React: JavaScript library for building user interfaces.
  3. TypeScript: Superset of JavaScript that adds static typing.

PDF Handling

  1. pdf-parse: Library for parsing PDF files.
  2. @react-pdf/renderer: Library for rendering PDFs in React.
  3. react-pdf: Library for displaying PDFs in React.

Authentication and Database

  1. @clerk/nextjs: Authentication library for Next.js.
  2. @clerk/elements: UI components for Clerk authentication.
  3. firebase: Backend-as-a-service for building web and mobile applications.
  4. firebase-admin: Firebase Admin SDK for server-side operations.
  5. @pinecone-database/pinecone: Pinecone database client.
  6. @langchain/pinecone: Integration for Pinecone with LangChain.
  7. @langchain/community: Community package for LangChain.

UI Components and Styling

  1. @radix-ui/react-label: Radix UI component for labels.
  2. @radix-ui/react-slot: Radix UI component for slots.
  3. @radix-ui/react-toast: Radix UI component for toasts.
  4. lucide-react: Icon library for React.
  5. react-dropzone: Library for file dropzone components.
  6. react-markdown: Library for rendering Markdown in React.
  7. daisyui: Tailwind CSS component library.
  8. tailwindcss: Utility-first CSS framework.
  9. tailwind-merge: Utility for merging Tailwind CSS classes.
  10. tailwindcss-animate: Tailwind CSS plugin for animations.
  11. clsx: Utility for constructing className strings conditionally.

Payment Processing

  1. stripe: Stripe API client for server-side operations.
  2. @stripe/stripe-js: Stripe.js library for client-side operations.

Utility Libraries

  1. byte-size: Library for formatting byte sizes.
  2. uuid: Library for generating UUIDs.

Development Tools

  1. eslint: Linting utility for JavaScript and TypeScript.
  2. eslint-config-next: ESLint configuration for Next.js.
  3. postcss: Tool for transforming CSS with JavaScript plugins.
  4. typescript: TypeScript compiler.
  5. @types/node: Type definitions for Node.js.
  6. @types/react: Type definitions for React.
  7. @types/react-dom: Type definitions for React DOM.
  8. @types/uuid: Type definitions for UUID.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published