Skip to content

apollocked/Chat-app

Repository files navigation

ChatApp

A real-time Android chat application built with Kotlin and Firebase. This app features a modern UI and real-time synchronization for a seamless communication experience.

🚀 Features

  • User Authentication: Secure Sign-up and Sign-in using Firebase Authentication.
  • Real-time Messaging: Instant message delivery and updates using Firebase Firestore snapshots.
  • Presence Tracking: Real-time "Online" status and "Last seen" timestamps for all users.
  • Typing Indicators: Live "User is typing..." feedback displayed in the chat toolbar.
  • Read Receipts: Visual status indicators for messages:
    • 🕒 Pending
    • ✓ Sent
    • ✓✓ Read (Green)
  • Multimedia Support: Send text messages and images.
  • User Profiles:
    • View detailed user profiles including their live status.
    • Update your own profile picture with a preview and save/discard validation.
  • Message Management: Long-press on your own messages to "Unsend" (delete) them for everyone.
  • Modern & Responsive UI:
    • Built with Material Design 3 and View Binding.
    • Edge-to-Edge support with intelligent keyboard (IME) inset handling.
    • Circular image views for all user avatars.
    • Smooth slide animations between Auth screens.

🛠️ Tech Stack

  • Language: Kotlin
  • Backend: Firebase (Firestore, Authentication)
  • Image Handling: Glide for efficient loading and caching.
  • UI Components:
  • Image Optimization: Intelligent Bitmap scaling and compression to Base64 for Firestore-friendly storage.

📸 Screenshots

(Add your screenshots here to showcase the UI)

⚙️ Setup Instructions

  1. Clone the repository:
    git clone https://github.com/yourusername/Chatapp.git
  2. Firebase Configuration:
    • Create a new project in the Firebase Console.
    • Add an Android app with the package name com.example.chatapp.
    • Download the google-services.json file and place it in the app/ directory.
    • Enable Email/Password authentication in the Firebase Auth tab.
    • Create a Cloud Firestore database.
  3. Build & Run:
    • Open the project in Android Studio.
    • Sync project with Gradle files.
    • Run the app on an emulator or a physical device.

📄 License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages