Skip to content

TextTalk is an AI-powered chatbot that lets users upload PDFs, parse their content, and ask questions based on the extracted information. It provides accurate and context-aware answers, making document interaction seamless and efficient. πŸš€πŸ’¬πŸ“„

Notifications You must be signed in to change notification settings

Abdullah-dev0/TextTalk

Repository files navigation

TextTalk - A Modern Fullstack Platform

Built with the Next.js 14.0 App Router, tRPC, TypeScript, Prisma & Tailwind

Features

  • πŸ› οΈ Complete SaaS Built From Scratch
  • πŸ’» Beautiful Landing Page & Pricing Page Included
  • πŸ’³ Free & Pro Plan Using Stripe
  • πŸ“„ A Beautiful And Highly Functional PDF Viewer
  • πŸ”„ Streaming API Responses in Real-Time
  • πŸ”’ Authentication Using clerk
  • 🎨 Clean, Modern UI Using 'shadcn-ui'
  • πŸš€ Optimistic UI Updates for a Great UX
  • ⚑ Infinite Message Loading for Performance
  • πŸ“€ Intuitive Drag n’ Drop Uploads
  • ✨ Instant Loading States
  • πŸ”§ Modern Data Fetching Using tRPC & Zod
  • 🧠 LangChain for Infinite AI Memory
  • 🌲 Pinecone as our Vector Storage
  • πŸ“Š Prisma as our ORM
  • πŸ”€ 100% written in TypeScript
  • 🎁 ...much more

Getting Started

Follow these steps to set up and run the project locally:

1. Clone the repository

git clone https://github.com/Abdullah-dev0/TextTalk.git
cd texttalk

2. Install dependencies

Make sure you have all the dependencies installed by running:

npm install

3. Set up environment variables

  1. Duplicate the .env.example file and rename it to .env.

  2. Fill in the required environment variables in the .env file:

    • Clerk for secure authentication (see Clerk documentation)

      NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
      CLERK_SECRET_KEY=
      NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
      NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
      NEXT_PUBLIC_CLERK_SIGN_IN_FORCE_REDIRECT_URL=/dashboard
      NEXT_PUBLIC_CLERK_SIGN_UP_FORCE_REDIRECT_URL=/dashboard
      
    • Database MongoDB connection (replace with your MongoDB connection URI)

      DATABASE_URL=
      
    • Uploadthing for PDF storage (see Uploadthing documentation)

      UPLOADTHING_SECRET=
      UPLOADTHING_APP_ID=
      UPLOADTHING_TOKEN=
      
    • OpenAI or Mistral API for answering questions from PDFs (see OpenAI)

      OPENAI_API_KEY=
      
    • Pinecone for vector storage

      PINECONE_API_KEY=
      

4. Start the development server

Once the environment variables are configured, start the server:

npm run dev

5. Access the application

Open your browser and navigate to http://localhost:3000 to view the application.


About

TextTalk is an AI-powered chatbot that lets users upload PDFs, parse their content, and ask questions based on the extracted information. It provides accurate and context-aware answers, making document interaction seamless and efficient. πŸš€πŸ’¬πŸ“„

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published