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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

32fc698 Β· Mar 2, 2025

History

39 Commits
Nov 18, 2024
Oct 7, 2024
Mar 2, 2025
Oct 7, 2024
Oct 7, 2024
Oct 7, 2024
Nov 16, 2024
Oct 7, 2024
Nov 9, 2024
Mar 2, 2025
Mar 2, 2025
Oct 7, 2024
Nov 5, 2024
Dec 13, 2024

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