T3 Chat is a modern AI-powered chat application built with Next.js, TypeScript, Prisma, and NextAuth. It supports multiple LLM providers (Gemini, OpenAI), file attachments, and user authentication.
- Next.js 14+ App Router
- TypeScript & ESLint integration
- User authentication with NextAuth
- Chat with LLMs (Gemini, OpenAI)
- File attachment support
- Prisma ORM with PostgreSQL (or other supported DBs)
- Tailwind CSS for styling
- Modular, scalable codebase
git clone https://github.com/your-username/t3plus.git
cd t3plusnpm install
# or
yarn installCopy the example environment file and fill in your credentials:
cp .env.example .envEdit .env and set the following variables:
DATABASE_URL(Prisma DB connection string)NEXTAUTH_SECRETNEXTAUTH_URLOPENAI_API_KEY(for OpenAI integration)GOOGLE_API_KEY(for Gemini integration, if used)- Any other required keys as per
.env.example
Run Prisma migrations to set up your database schema:
npx prisma migrate dev(Optional) Generate Prisma client:
npx prisma generatenpm run dev
# or
yarn devOpen http://localhost:3000 in your browser.
app/- Next.js app directory (routes, API, pages)components/- Reusable React componentslibs/- Utility libraries (auth, helpers, etc.)prisma/- Prisma schema and migrationspublic/- Static assetstypes/- TypeScript types
Run ESLint:
npm run lintDeploy easily on Vercel or your preferred platform.
We welcome contributions! To get started:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature-name - Make your changes and commit:
git commit -m "Add your feature" - Push to your fork:
git push origin feature/your-feature-name - Open a Pull Request describing your changes.
Guidelines:
- Write clear, concise commit messages.
- Follow the existing code style and structure.
- Add tests for new features when possible.
- Ensure the app builds and passes linting before submitting.
This project is licensed under the MIT License.