Built with the Next.js 14.0 App Router, tRPC, TypeScript, Prisma & Tailwind
- 🛠️ 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
Follow these steps to set up and run the project locally:
git clone https://github.com/Abdullah-dev0/TextTalk.git
cd texttalk
Make sure you have all the dependencies installed by running:
npm install
-
Duplicate the
.env.example
file and rename it to.env
. -
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=
-
Once the environment variables are configured, start the server:
npm run dev
Open your browser and navigate to http://localhost:3000
to view the application.