Skip to content

simple chatbot with python, google gemini or ollama local and next.js.

License

Notifications You must be signed in to change notification settings

nicdun/chat-bot

Repository files navigation

ND Chat - Modern AI Chat Application

A beautiful and feature-rich chat application built with Next.js and powered by Google's Gemini AI. Experience seamless conversations with a modern, responsive interface and persistent chat history.

Next.js React TypeScript

✨ Features

  • 🤖 Powered by Google's Gemini AI
  • 💬 Real-time chat interface with markdown support
  • 🎨 Beautiful UI with Tailwind CSS and Shadcn components
  • 💾 Persistent chat history using DexieDB (IndexedDB)
  • 🚀 Fast and responsive with Next.js App Router
  • 📱 Fully responsive design
  • ⚡ Real-time message streaming
  • 🎭 Loading animations with Framer Motion
  • 🔄 Chat thread management
  • 🎨 Syntax highlighting for code blocks

🛠️ Tech Stack

Frontend

  • Framework: Next.js 15 with App Router
  • Language: TypeScript
  • Styling: Tailwind CSS
  • UI Components: Shadcn/UI with Radix UI primitives
  • State Management: DexieDB for local storage
  • Animations: Framer Motion
  • Markdown: React Markdown with GFM support

Backend

  • Framework: FastAPI
  • AI Integration: Google Gemini API
  • Authentication: Session-based (coming soon)

🚀 Getting Started

  1. Clone the repository:
git clone https://github.com/nicdun/chat-bot.git
cd chat-bot
  1. Install dependencies:
npm install
  1. Set up your environment variables:
cp .env.example .env.local
# Edit .env.local with your API keys and configuration
  1. Run the development server:
npm run dev
  1. Open http://localhost:3000 in your browser.

🔧 Environment Variables

Create a .env.local file with the following variables for the server:

GOOGLE_API_KEY=your_gemini_api_key

Create a .env.local file with the following variables for the server:

NEXT_PUBLIC_API_URL=your_fastapi_backend_url

📦 Project Structure

chat-bot/
├── app/                    # Next.js app directory
│   ├── api/               # API routes
│   ├── chat/              # Chat page components
│   └── layout.tsx         # Root layout
├── components/            # Reusable components
├── lib/                   # Utility functions and configurations
├── public/               # Static assets
└── styles/               # Global styles

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

About

simple chatbot with python, google gemini or ollama local and next.js.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published