This is a Next.js application that provides a chat interface for interacting with an AI. It uses a variety of modern web technologies to provide a feature-rich experience.
The project is a " Chat" chat bot. It allows users to generate responses, copy messages, regenerate messages, save and retrieve chats from a database, and upload attachments.
To get started with this project, you'll need to have Node.js and pnpm installed.
-
Install dependencies:
pnpm install
-
Run the development server:
pnpm run dev
This will start the development server on http://localhost:3000.
-
Build for production:
pnpm run build
-
Start the production server:
pnpm run start
pnpm run lint: Lint the .pnpm run typecheck: Run the TypeScript compiler to check for type errors.pnpm run db:push: Push database schema changes.pnpm run db:generate: Generate database migration files.pnpm run db:migrate: Apply database migrations.pnpm run db:studio: Open the Drizzle Studio to view and manage your database.
- Framework: The project is built with Next.js and React.
- Authentication: Authentication is handled by NextAuth.js, with providers for Google and Github.
- Database: The project uses a PostgreSQL database with Drizzle ORM. The database schema is defined in
lib/drizzle/schema.ts. - Styling: The project uses Tailwind CSS for styling.
- UI Components: The project uses Radix UI and custom components for the user interface.
- Linting and Formatting: The project uses ESLint for linting and Prettier for formatting.
- Type Checking: The project uses TypeScript for static type checking.