Skip to content

piche-eu/cha-cha-chat

Repository files navigation

Cha-Cha-Chat

Cha-Cha-Chat is a real-time web chat experience powered by Firebase. It features email/password authentication, live messaging, chat history, and lightweight presence indicators presented in a clean two-column layout inspired by shadcn/ui.

Features

  • Email/password sign up, login, and logout
  • Real-time message delivery backed by Cloud Firestore
  • Automatically stored conversation history (last 200 messages rendered)
  • Presence indicators derived from user activity timestamps
  • Auto-generated avatars for users and direct message threads
  • Image attachments with automatic upload to Firebase Storage
  • Gemini-powered ChaChaBot within direct messages
  • Personal note-taking: start a DM with yourself for private reminders
  • Responsive layout with user list and chat stream

Getting Started

  1. Install dependencies
    pnpm install
  2. Start the development server
    pnpm dev
  3. Visit http://localhost:5173 and create an account to begin chatting.

Firebase Configuration

The Firebase web configuration is already baked into src/firebase.ts. If you need to switch projects, replace the configuration values there. Ensure Authentication (Email/Password) and Firestore Database are enabled in the Firebase console.

Gemini AI Assistant

  1. In the Firebase console, enable Firebase AI and choose the Google AI (Gemini) backend for your project.
  2. Confirm the Generative AI API is enabled for the linked Google Cloud project.
  3. With those services active, ChaChaBot automatically connects to the gemini-2.5-flash model.
  4. Users can open a direct message with ChaChaBot to ask questions, summarize threads, or brainstorm replies.

Scripts

  • pnpm dev – run Vite in development mode with hot module reloading
  • pnpm build – type-check and generate a production build
  • pnpm lint – run ESLint across the project

About

Cha-Cha-Chat is a real-time web chat experience powered by Firebase.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published