ChatGPT Conversation App

A full-stack chat application with Google authentication, conversation storage, and group chat functionality.

Features

  • Google OAuth Login - Secure authentication via LastLogin
  • Chat with ChatGPT - GPT-4o-mini integration for AI responses
  • Personal Conversations - Private chats with conversation history
  • Group Chats - Invite others to collaborate in conversations with AI
  • Real-time Updates - See messages from other participants instantly
  • Conversation Management - Create, view, and delete conversations
  • Admin Controls - Invite users and manage participants

Group Chat Features

🎯 Core Functionality

  • Invite by Email - Admins can invite users via email
  • Role-based Access - Admin vs Participant permissions
  • Real-time Collaboration - All participants see messages instantly
  • Full Message History - New participants see all previous messages
  • Participant Management - View and remove participants

👥 How Group Chats Work

  1. Create/Open any conversation
  2. Invite People - Click "Invite" button (admins only)
  3. Email Invitations - Recipients get email with join link
  4. Join Conversation - Click link, login, accept invitation
  5. Collaborate - All participants chat together with AI

Project Structure

  • backend/ - Hono API server with authentication and group chat
  • frontend/ - React chat interface with group features
  • shared/ - Shared TypeScript types

Tech Stack

  • Backend: Hono, LastLogin auth, SQLite, OpenAI, Server-Sent Events
  • Frontend: React, TailwindCSS, Real-time SSE connections
  • Database: SQLite with participant and invitation tables

Getting Started

The app is automatically deployed on Val Town. Visit the HTTP endpoint to start chatting!

Group Chat Flow

  1. Start chatting - Create conversations normally
  2. Invite others - Use the "Invite" button in any conversation
  3. Real-time collaboration - Everyone sees messages instantly
  4. Manage participants - Admins can view and remove participants