Skip to content

Files

Latest commit

26aae28 · Nov 16, 2024

History

History
100 lines (70 loc) · 2.46 KB

README.md

File metadata and controls

100 lines (70 loc) · 2.46 KB

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.