Abdallah-Mekky / Chat_App

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Chat App

Please ⭐️ this repo and share it with others.

Description

This project is a chat application that contains a variety of features, starting with the possibility of logging in, creating an account and logging out, and in the case of logging in once, the application allows you to enter without registering again. And in the case of joining a room, you can chat with all members of the room and see all the messages and the time they were sent and the name of the sender instantly as soon as they are sent. You can also leave the room if you want.

Screenshots

Light Mode

Video

Chat.mp4

Tools

  • Kotlin
  • View Model - The View Model class is designed to store and manage UI-related data in a lifecycle conscious way.
  • Live Data - LiveData is an observable data holder class. Unlike a regular observable, LiveData is lifecycle-aware, meaning it respects the lifecycle of other app components, such as activities, fragments, or services.
  • Data Binding - The Data Binding Library is a support library that allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically.
  • Firebase - Tools to develop high-quality apps
    • Firebase Authentication - Firebase Authentication aims to make building secure authentication systems easy, while improving the sign-in and onboarding experience for end users.
    • Cloud Firestore - Cloud Firestore is a NoSQL document database that lets you easily store, sync, and query data for your mobile and web apps - at global scale.
  • Dependency Injection Using Hilt - Hilt is a dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project.
  • Repository Pattern

Features

  • Firebase
    • Firebase Authentication (Email and Password)
    • Cloud Firestore

Code Architecture

http://fernandocejas.com/2015/07/18/architecting-android-the-evolution/