Skip to content

πŸ’¬ ChatVerse A sleek and powerful real-time chat application built with βš›οΈ React, πŸ” Firebase and 🐻 Zustand. ChatVerse lets you connect with πŸ§‘β€πŸ€β€πŸ§‘ friends, πŸ–ΌοΈ share images and 🎀 voice notes, use 😎 emojis, πŸ–‹οΈ edit your profile, 🚫 Block / unblock functionality and much more β€” all within a modern 3-panel interface: ChatList, Chat and Detail.

License

Notifications You must be signed in to change notification settings

MdAbdullahAnwar/ChatVerse_Chat-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

30 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’¬ ChatVerse

Welcome to ChatVerse, a beautifully designed real-time chat application powered by React and Firebase. With a modern UI and powerful chat features, ChatVerse lets you connect, chat, and share moments with your friends effortlessly.


🌐 Live Demo

πŸ‘‰ Click here to try ChatVerse


πŸ”§ Tech Stack

  • Frontend: React.js
  • Styling: CSS
  • Backend as a Service: Firebase (Auth & Firestore)
  • State Management: Zustand
  • Media Uploads: ImgBB for image hosting, Dropbox API for voice note storage
  • Media Handling: Custom camera and audio modals
  • Scrolling: react-perfect-scrollbar
  • UI Enhancements: Toast notifications, modals, emoji picker
  • Deployment: Hosted on Vercel for fast and reliable CI/CD
  • Version Control: Git + GitHub

πŸš€ Features

πŸ” Authentication

  • Sign Up

    • Avatar upload (optional; default avatar applied if not provided)
    • Username, Email, and Password fields
    • Toast feedback for success or failure (via Firebase Auth)
  • Sign In

    • Login using Email and Password
    • Welcome message and toast notifications

πŸ’¬ Beautiful Chat Interface

  • Three-panel layout for optimal messaging experience
  • Elegant UI with smooth animations
  • Perfect Scrollbar for seamless navigation

πŸ‘₯ User Management

  • Edit profile with updated username, bio, and profile picture
  • Search and add new friends by username
  • Friend list displays last message preview
  • Clear indicators for message type (text, photo, or πŸ“Ž attachment)

✨ Rich Messaging Features

  • Real-time text messaging
  • Image sharing from gallery or camera
  • Voice notes with recording functionality
  • Emoji support using Emoji Picker
  • Delete individual messages
  • Clear entire chat history

πŸ“Έ Media Management

  • Shared photos section with collapsible view
  • Instant camera integration to take and send photos
  • Scrollable shared photo history using Perfect Scrollbar
  • Download any shared image

βš™οΈ Advanced Controls

  • Block/unblock users with real-time UI updates
  • Profile editing with immediate state reflection
  • Secure logout functionality

πŸ’‘ App Layout

ChatVerse features a clean, three-section layout:


1. πŸ“œ ChatList (Left Sidebar)

  • User Info Panel

    • Shows current user's avatar and username
    • ✏️ Edit Profile icon opens modal to change avatar, username, and bio
  • Friend Discovery

    • πŸ” Search bar to filter friends
    • βž• Add User modal to search and add new friends
    • Friend list with avatar, name, and last message:
      • Text: displays actual text
      • Image: shown as πŸ“Ž Attachment
  • Smooth scrolling experience powered by Perfect Scrollbar


2. πŸ’¬ Chat Window (Middle Section)

  • Top Bar

    • Displays friend's avatar, username, and bio
    • Clear Chat button removes the conversation history
  • Messages Area

    • Supports:
      • βœ… Text messages
      • βœ… Emojis (via Emoji Picker)
      • βœ… Gallery image sharing
      • βœ… Camera capture and send
      • βœ… Voice notes
      • βœ… Timestamps for all messages
      • βœ… Delete individual messages
  • Action Bar

    • πŸ–ΌοΈ Image upload icon
    • πŸ“Έ Open camera modal
    • 🎀 Record and send voice note
    • πŸ˜€ Insert emojis
    • βœ‰οΈ Send button to deliver the message

3. ℹ️ Detail Panel (Right Sidebar)

  • Friend Info

    • Friend's avatar, name, and bio
  • Shared Photos

    • Toggleable gallery showing shared images
    • Latest images at the top
    • Scrollable with Perfect Scrollbar
    • Download buttons for each photo
  • Controls

    • Block User button disables messaging for both users
      • UI updates input field and disables send button
      • Also restricts friend from sending you messages or viewing your avatar
    • Unblock User to restore messaging functionality
    • Logout to securely sign out and return to login/signup screen

πŸ“ Folder Structure

src/
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ chat/
β”‚   β”‚   β”œβ”€β”€ CameraComponent.css
β”‚   β”‚   β”œβ”€β”€ CameraComponent.jsx
β”‚   β”‚   β”œβ”€β”€ Chat.css
β”‚   β”‚   β”œβ”€β”€ Chat.jsx
β”‚   β”‚   β”œβ”€β”€ VoiceRecorder.css
β”‚   β”‚   β”œβ”€β”€ VoiceRecorder.jsx
β”‚   β”œβ”€β”€ detail/
β”‚   β”‚   β”œβ”€β”€ Detail.css
β”‚   β”‚   β”œβ”€β”€ Detail.jsx
β”‚   β”œβ”€β”€ list/
β”‚   β”‚   β”œβ”€β”€ chatList/
β”‚   β”‚   β”‚   β”œβ”€β”€ addUser/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ AddUser.css
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ AddUser.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ ChatList.css
β”‚   β”‚   β”‚   β”œβ”€β”€ ChatList.jsx
β”‚   β”‚   β”œβ”€β”€ userInfo/
β”‚   β”‚   β”‚   β”œβ”€β”€ Userinfo.css
β”‚   β”‚   β”‚   β”œβ”€β”€ Userinfo.jsx
β”‚   β”‚   β”œβ”€β”€ List.css
β”‚   β”‚   β”œβ”€β”€ List.jsx
β”‚   β”œβ”€β”€ login/
β”‚   β”‚   β”œβ”€β”€ Login.css
β”‚   β”‚   β”œβ”€β”€ Login.jsx
β”‚   β”œβ”€β”€ notification/
β”‚   β”‚   β”œβ”€β”€ Notification.jsx
β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ chatStore.js
β”‚   β”œβ”€β”€ dropboxUpload.js
β”‚   β”œβ”€β”€ firebase.js
β”‚   β”œβ”€β”€ upload.js
β”‚   β”œβ”€β”€ userStore.js
β”œβ”€β”€ App.jsx
β”œβ”€β”€ index.css
β”œβ”€β”€ main.jsx

🧠 Future Enhancements

  • Responsive design for mobile and tablet
  • Real-time typing indicators
  • Online/offline status indicators
  • Group chats and media previews
  • Dark mode support

πŸ§‘β€πŸ’» Author

Made with πŸ’™ by MD Abdullah Anwar
Feel free to contribute or reach out!


πŸ“„ License

This project is licensed under the MIT License.


About

πŸ’¬ ChatVerse A sleek and powerful real-time chat application built with βš›οΈ React, πŸ” Firebase and 🐻 Zustand. ChatVerse lets you connect with πŸ§‘β€πŸ€β€πŸ§‘ friends, πŸ–ΌοΈ share images and 🎀 voice notes, use 😎 emojis, πŸ–‹οΈ edit your profile, 🚫 Block / unblock functionality and much more β€” all within a modern 3-panel interface: ChatList, Chat and Detail.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published