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.