Skip to content

vyasnavneet/Talk-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ—£οΈ Talk!

Talk is a smart, fast, and modern chat app built with Flutter and Firebase, designed for seamless real-time communication. It supports one-on-one messaging and group chats, all packed into a clean, intuitive, and responsive user interface.

With features like profile customization, group creation, dark mode, and secure authentication, Talk offers a complete messaging experience that's both powerful and user-friendly.

πŸš€ The app is currently in version v2.0.0.


✨ Features Overview

🏠 Home Screen

  • Displays a list of all personal chats.
  • Each chat item shows:
    • User's profile photo
    • Username
    • Email as a subtitle
    • Unread message count badge (if applicable)
  • A side navigation drawer is accessible for app-wide navigation.

πŸ’¬ Personal Chat

  • Real-time one-on-one messaging using Firebase Firestore.
  • Chat screen includes:
    • App bar with sender's profile photo (clickable to view), username, and email as subtitle.
    • Live auto-scrolling to latest message.
  • Message bubbles show:
    • Message text
    • Timestamp
    • Alignment based on sender (left/right)
  • Long-press on a message shows options to:
    • Report user
    • Block user

πŸ‘₯ Group Chat

  • Real-time group messaging powered by Firebase Firestore.
  • Groups screen:
    • Displays all groups the user is part of.
    • Shows "No groups found" message if user isn’t in any group.
  • Create group screen includes:
    • Input field for group name
    • Scrollable user list with:
      • Username
      • Email
      • Checkbox to select users
    • Create Group button to finalize creation
  • Group chat screen:
    • App bar with group name and a delete button (for group admin)
    • Message bubbles show:
      • Sender's profile photo
      • Username
      • Message text
      • Timestamp
      • Proper alignment based on sender

βš™οΈ User Settings

  • Customize your profile with:
    • Editable username
    • Optional profile photo (upload from gallery or delete)
  • Settings include:
    • Dark mode toggle for theme switching
    • Change username with a hint showing current username
    • Blocked users list β€” view and unblock users
    • Delete Account button:
      • Permanently deletes user data from:
        • Firebase Auth
        • Firestore
        • Firebase Storage

🧭 Navigation Drawer

  • Accessible via swipe or menu icon.
  • Displays:
    • Profile section:
      • Profile photo
      • Username
      • Email
      • Real-time photo updates (supports fallback if photo is deleted)
    • Navigation options:
      • Home (Chats)
      • Groups
      • Settings
      • About
    • Logout button
  • Designed with smooth transitions, shadows, and clean layout.

πŸ” Firebase Integration

πŸ”‘ Authentication

  • Firebase Email & Password authentication (Google sign-in coming soon)

πŸ”₯ Firestore Structure

πŸ”Ή users collection

  • Fields:
    • email
    • profileImage
    • uid
    • uname
  • Subcollection:
    • groups β†’ stores group IDs user is part of

πŸ”Ή chat_rooms collection

  • Each chatroom ID has a subcollection:
    • messages
      • Fields:
        • message
        • timestamp
        • senderId
        • senderEmail
        • receiverId
        • uname
        • isRead

πŸ”Ή groups collection

  • Each group ID has:
    • Subcollection: messages (same fields as above)
    • Fields:
      • name (group name)
      • membersId (list of user IDs)

🧠 Smart Behavior

  • Deleted profile images update across all screens instantly.
  • Home screen shows unread message count markers for personal chats.
  • Full real-time sync with Firestore β€” no manual refresh needed.
  • State management ensures:
    • Updated usernames and images reflect everywhere.
    • No stale or cached data after profile changes or deletions.

πŸ“¦ Tech Stack

Tool Purpose
Flutter Cross-platform app development
Firebase Auth User authentication & management
Firebase Firestore Real-time chat & group data
Firebase Storage Profile image uploads

🎨 App Design Philosophy

  • Built with a Material-first aesthetic
  • Responsive layouts for all screen sizes
  • Smooth animations and UI transitions
  • Clean separation of features and screens
  • Prioritizes usability, speed, and clarity

πŸ–ΌοΈ Branding

  • Comes with a custom-designed app icon/logo
  • UI themed for a sleek and modern look in both light and dark modes

πŸ™Œ Final Words

Talk is built for modern communication β€” balancing performance, simplicity, and community. Whether chatting one-on-one or managing group conversations, it offers everything you need, without the clutter.


πŸ“Έ Screenshots

πŸ” Login & SignUp Screen

Home Screen
Login
Home Screen
SignUp

🏠 Home Screen

Home Screen
Light Mode
Home Screen
Dark Mode

πŸ’¬ Chat Screen

Home Screen
Light Mode
Home Screen
Dark Mode

πŸ“‚ App Drawer

Home Screen
Light Mode
Home Screen
Dark Mode

βš™οΈ Settings Screen

Home Screen
Light Mode
Home Screen
Dark Mode

πŸ‘₯ Groups and Group List

Home Screen
Group List
Home Screen
Group Chat

Note - More screenshots are available in the 'assets/screenshots' folder.


About

A beautiful & fast messaging app!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors