Skip to content

A modern, feature-rich real-time chat application built with Next.js 14, React, TypeScript, and cutting-edge web technologies. Connect enables seamless communication through instant messaging, friend management, AI-powered conversations, multimedia sharing with a beautiful, responsive interface.

Notifications You must be signed in to change notification settings

sabareeshsp7/connect-app

Repository files navigation

Connect Chat Application πŸ’¬

A modern, real-time chat application built with Next.js, Convex, and Clerk authentication. Connect with friends, create groups, and enjoy AI-powered conversations.

  • Instant Messaging with Rich Media Support
  • File Uploads (images, videos, PDFs, audio)
  • Image Preview with full-screen view
  • Video Playback with controls
  • File Download capabilities
  • Drag & Drop file uploads

Version Next.js TypeScript PWA

✨ Features

πŸ”’ Authentication & Security

  • Clerk Authentication - Secure sign-in/sign-up with multiple providers
  • Role-based Access - Protected routes and conversation membership validation
  • Session Management - Persistent authentication across browser sessions

πŸ’¬ Real-time Messaging

  • Instant Messaging - Real-time message delivery with Convex
  • Group Conversations - Create and manage group chats
  • Direct Messages - One-on-one conversations
  • Message Status - Delivery and read receipts
  • Reply System - Reply to specific messages with context

πŸ€– AI Integration

  • AI Reply Assistant - Generate AI-powered responses to messages
  • Smart Suggestions - Context-aware reply suggestions
  • Google Gemini Integration - Advanced AI capabilities for natural conversations
  • Animated Gemini Icon - Beautiful animated SVG icon with gradient effects and smooth animations
  • In-Message AI Access - AI suggestion button directly in message interface for instant assistance

🎨 Modern UI/UX

  • Dark/Light Theme - System-aware theme switching
  • Progressive Web App - Install as native app experience
  • Responsive Design - Optimized for mobile and desktop
  • Beautiful Animations - Smooth transitions and micro-interactions
  • Emoji Support - Rich emoji picker and reactions
  • WhatsApp-Style Mobile Layout - Optimized mobile experience with proper space utilization
  • Edge-to-Edge Design - Full-width mobile interface without wasted space
  • Compact Message Layout - Efficient use of screen real estate on mobile devices

πŸ“ File Sharing

  • UploadThing Integration - Secure file uploads and sharing
  • Image Preview - In-chat image previews
  • File Management - Organized file handling

πŸ” Search & Navigation

  • Conversation Search - Find conversations and members quickly
  • Smart Filtering - Real-time search results
  • Keyboard Shortcuts - Efficient navigation

πŸš€ Recent Updates & Optimizations

Message Actions Overhaul βœ…

  • Enhanced Info Dialog - Shows meaningful read status instead of technical IDs
  • AI Reply Integration - Easy access to AI-powered responses with animated Gemini icon
  • Clean Interface - Focused on essential messaging features
  • In-Message AI Button - Direct access to AI suggestions from message interface

Mobile Experience Revolution βœ…

  • WhatsApp-Style Layout - Optimized mobile layout similar to WhatsApp/Instagram
  • Full Space Utilization - Messages now use 85% width on mobile vs 75% on desktop
  • Compact Design - Reduced gaps and padding for better mobile experience
  • Edge-to-Edge Interface - Removed unnecessary borders and margins on mobile
  • Touch-Optimized Controls - Smaller avatars and buttons for better mobile interaction
  • Responsive Typography - Appropriate text sizing for mobile screens

Advanced AI Features βœ…

  • Gemini Icon Integration - Beautiful animated SVG icon with gradient effects
  • Multi-Color Animation - Google-style gradient animations with pulse effects
  • Improved AI Access - AI suggestion button positioned alongside message actions
  • Enhanced Visual Feedback - Smooth hover effects and scaling animations
  • Mobile-First AI UX - Always visible on mobile, hover-visible on desktop

Performance & Code Quality βœ…

  • TypeScript Optimization - Improved type safety and error handling
  • Component Cleanup - Removed unused features and code
  • Error Resolution - Fixed reply functionality and validation errors
  • Mobile Optimization - Better performance on mobile devices
  • Build Optimization - Successful compilation with zero errors

User Experience Improvements βœ…

  • Intuitive Message Actions - Reply, Copy, Share, Info, AI Reply, Delete
  • Real-time Status Updates - Live delivery and read receipts
  • Better Error Handling - User-friendly error messages and feedback
  • Smooth Reply System - Fixed reply validation and message sending

Social Features

  • Friend System with request/accept flow
  • User Discovery by email address
  • Friend Management (add, remove, block)
  • Group Creation with friend selection
  • Conversation Management (leave, delete groups)

πŸ“± User Experience

  • Fully Responsive Design optimized for mobile and desktop
  • Dark/Light Theme with system preference detection
  • PWA Support for native app-like experience
  • Offline Capability with service worker
  • Toast Notifications for user feedback
  • Smooth Scrolling conversation lists with proper mobile navigation handling
  • Mobile-First Layout with touch-friendly interfaces

Rich Media Support

  • File Uploads (images, videos, PDFs, audio)
  • Image Preview with full-screen view
  • Video Playback with controls
  • File Download capabilities
  • Drag & Drop file uploads

πŸŽ₯ Communication Features

  • Voice Calls with LiveKit integration
  • Video Calls with screen sharing support
  • Call Room management
  • Real-time Audio/Video streaming

πŸ€– AI Features

  • AI Chat Assistant powered by Google Gemini
  • Natural Language Processing for intelligent conversations
  • Real-time AI Responses with typing indicators
  • Mobile-Optimized AI Interface - Perfect layout on all devices
  • Seamless Integration with existing chat interface
  • Auto-scroll for smooth conversation flow
  • Loading Indicators for AI thinking states
  • Error Handling with user-friendly messages

AI Chat Integration

  • Added Google Gemini-powered AI Assistant accessible from the sidebar
  • Bot icon in navigation for easy access to AI chat
  • Mobile-responsive AI interface with proper spacing and layout
  • Real-time AI responses with typing indicators and error handling

Enhanced Search Functionality

  • Member search bar above conversations list
  • Real-time filtering as you type usernames or group names
  • Keyboard shortcuts (Ctrl+K/Cmd+K) for quick search access
  • Search results counter showing number of matches
  • Mobile-optimized search with touch-friendly interface

Improved Mobile Experience

  • Fixed mobile navigation overlap issues
  • Proper spacing for AI chat on mobile devices
  • Smooth scrolling conversation lists
  • Touch-optimized search and chat interfaces
  • Responsive layout improvements across all components

Performance & UX Enhancements

  • Error handling improvements for AI chat
  • Loading states for better user feedback
  • Auto-scroll functionality for chat messages
  • Type-safe search implementation with robust error handling

New Beautiful Pages & Design System

  • Landing Page Redesign with stunning hero section and feature showcase
  • Custom Sign-In Page with rotating testimonials and interactive elements
  • Custom Sign-Up Page with animated stats and quick setup steps
  • Enhanced CSS with mobile-first responsive design
  • Gradient Themes and smooth animations throughout
  • Accessibility Improvements with proper focus states and keyboard navigation
  • Performance Optimizations including will-change properties and smooth transitions

πŸ›  Technology Stack

Frontend

  • Next.js 14.2.3 - React framework with App Router
  • TypeScript - Type-safe development
  • Tailwind CSS - Utility-first styling
  • Radix UI - Accessible component primitives
  • Lucide React - Beautiful icon library
  • Sonner - Toast notifications

Backend & Database

  • Convex - Real-time backend with type safety
  • Clerk - Authentication and user management
  • UploadThing - File upload handling

AI & Integrations

  • Google Generative AI - Gemini model integration
  • Vercel Analytics - Performance monitoring

Development Tools

  • React Hook Form - Form state management
  • Zod - Schema validation
  • ESLint - Code linting
  • Next PWA - Progressive Web App features

πŸ“± Progressive Web App

Connect is a full-featured PWA that can be installed on any device:

  • Offline Capability - Limited functionality when offline
  • App-like Experience - Native app feel in the browser
  • Push Notifications - Stay updated with new messages
  • Fast Loading - Optimized performance and caching

🎯 Core Functionality

Message System

  • βœ… Real-time Messaging - Instant message delivery
  • βœ… Reply to Messages - Context-aware reply system
  • βœ… Message Info - Read receipts and delivery status
  • βœ… Copy & Share - Easy message sharing
  • βœ… Delete Messages - Remove unwanted messages
  • βœ… AI-Powered Replies - Generate smart responses with animated Gemini icon
  • βœ… Mobile-Optimized Layout - WhatsApp-style mobile message interface
  • βœ… Streamlined Actions - Clean, focused message action menu

Conversation Management

  • βœ… Create Groups - Start group conversations
  • βœ… Direct Messages - One-on-one chats
  • βœ… Search Conversations - Find chats quickly
  • βœ… Member Management - Add/remove group members

User Experience

  • βœ… Theme Switching - Dark/light mode
  • βœ… Responsive Design - Works on all devices
  • βœ… Keyboard Shortcuts - Efficient navigation
  • βœ… Loading States - Smooth user feedback
  • βœ… Mobile-First Layout - Optimized for mobile devices with WhatsApp-like interface
  • βœ… Animated Icons - Beautiful Gemini AI icon with gradient animations
  • βœ… Touch-Friendly Interface - Optimized buttons and controls for mobile interaction

🚦 Getting Started

Prerequisites

  • Node.js 18+
  • npm or yarn package manager
  • Clerk account for authentication
  • Convex account for backend
  • UploadThing account for file uploads

Installation

  1. Clone the repository

    git clone <repository-url>
    cd connect-app
  2. Install dependencies

    npm install
  3. Environment Setup Create .env.local file:

    # Clerk Authentication
    NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
    CLERK_SECRET_KEY=your_clerk_secret_key
    
    # Convex Backend
    NEXT_PUBLIC_CONVEX_URL=your_convex_url
    
    # UploadThing
    UPLOADTHING_SECRET=your_uploadthing_secret
    UPLOADTHING_APP_ID=your_uploadthing_app_id
    
    # Google AI
    GOOGLE_GENERATIVE_AI_API_KEY=your_gemini_api_key
  4. Setup Convex

    npx convex dev
  5. Run Development Server

    npm run dev
  6. Open Application Navigate to http://localhost:3000

πŸ“ Project Structure

connect-app/
β”œβ”€β”€ app/                          # Next.js App Router
β”‚   β”œβ”€β”€ (root)/                  # Main application routes
β”‚   β”‚   β”œβ”€β”€ conversations/       # Chat interface
β”‚   β”‚   β”œβ”€β”€ friends/            # Friends management
β”‚   β”‚   └── ai-chat/            # AI chat interface
β”‚   β”œβ”€β”€ api/                     # API routes
β”‚   β”œβ”€β”€ sign-in/                # Authentication pages
β”‚   └── sign-up/
β”œβ”€β”€ components/                   # Reusable components
β”‚   β”œβ”€β”€ shared/                 # Shared components
β”‚   β”‚   β”œβ”€β”€ conversation/       # Chat-related components
β”‚   β”‚   β”œβ”€β”€ item-list/         # List components
β”‚   β”‚   └── sidebar/           # Navigation components
β”‚   └── ui/                     # UI primitives
β”œβ”€β”€ convex/                      # Backend schema and functions
β”œβ”€β”€ hooks/                       # Custom React hooks
β”œβ”€β”€ lib/                        # Utilities and helpers
β”œβ”€β”€ providers/                   # Context providers
β”œβ”€β”€ public/                     # Static assets
└── types/                      # TypeScript type definitions

🎨 Customization

Themes

The app supports automatic theme switching based on system preference. Customize themes in:

  • app/globals.css - Global styles
  • tailwind.config.ts - Tailwind configuration
  • components/ui/theme/ - Theme components

AI Integration

Customize AI responses by modifying:

  • app/api/ai-chat/route.ts - AI endpoint logic
  • Message prompt templates and response handling

πŸ”§ Configuration

Convex Schema

Define your data models in convex/schema.ts:

  • Users and authentication
  • Conversations and messages
  • File uploads and metadata

Clerk Authentication

Configure authentication flows in convex/auth.config.ts

πŸ“Š Performance

  • Lighthouse Score: 95+ across all metrics
  • First Contentful Paint: < 1.5s
  • Time to Interactive: < 3s
  • Bundle Size: Optimized with Next.js automatic splitting

πŸ” Security

  • Authentication: Secure Clerk integration
  • Data Validation: Zod schema validation
  • File Uploads: Secure UploadThing handling
  • API Protection: Route protection and validation

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ License

This project is private and proprietary. All rights reserved.

πŸ†˜ Support

For support and questions:

  • Check the documentation in /ReadME/ folder
  • Review implementation guides
  • Contact the development team

πŸŽ‰ Latest Updates

Version 0.1.0 - Current Release

  • βœ… Message Actions Optimized - Streamlined interface with essential features
  • βœ… AI Reply Integration - Smart response generation with animated Gemini icon
  • βœ… Enhanced Info Dialog - Meaningful read status and timing
  • βœ… Mobile Layout Revolution - WhatsApp/Instagram-style mobile experience
  • βœ… Advanced AI Features - Beautiful animated SVG icons with gradient effects
  • βœ… Performance Improvements - Faster loading and better UX
  • βœ… Mobile Space Optimization - Improved space utilization for better mobile experience
  • βœ… Bug Fixes - Resolved reply validation and error handling
  • βœ… Code Cleanup - Removed unused features and optimized codebase
  • βœ… Responsive Design Enhancement - Edge-to-edge mobile interface design

Built with ❀️ using Next.js, Convex, and modern web technologies

About

A modern, feature-rich real-time chat application built with Next.js 14, React, TypeScript, and cutting-edge web technologies. Connect enables seamless communication through instant messaging, friend management, AI-powered conversations, multimedia sharing with a beautiful, responsive interface.

Topics

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published