Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/vivekkuvadiya/chat-app-android-kotlin-native

A Chat App is a native real-time messaging application that utilizes Firebase Database as its data storage solution. It is built using the Model-View-ViewModel (MVVM) architecture and makes use of Coroutines for managing background tasks and managing the flow of data.
https://github.com/vivekkuvadiya/chat-app-android-kotlin-native

android android-app androidproject chatapp coroutines dependency-injection firebase jetpack-navigation kotlin mvvm-architecture notification-service

Last synced: about 1 month ago
JSON representation

A Chat App is a native real-time messaging application that utilizes Firebase Database as its data storage solution. It is built using the Model-View-ViewModel (MVVM) architecture and makes use of Coroutines for managing background tasks and managing the flow of data.

Awesome Lists containing this project

README

        

# Chat App

A native real-time messaging application built using Kotlin language with MVVM design pattern and Coroutines for managing background tasks and managing the flow of data. This app utilizes Firebase Firestore as data storage solution and Firebase Cloud Messaging for notifications.

## Demo

https://user-images.githubusercontent.com/65214194/215805328-fe1046e7-8bfc-41e6-8c6f-6ec6fc1d1b09.mp4

## Features
- Real-time messaging: Users can send and receive messages in real-time.
- Firebase Firestore: Data storage is handled by Firebase Firestore, providing a secure and fast way to store and retrieve data.
- Firebase Cloud Messaging: Notifications are handled by Firebase Cloud Messaging, allowing users to receive notifications even when the app is not open.
- MVVM architecture: The app follows the Model-View-ViewModel architecture, making it easy to maintain and scale.
- Coroutines: Coroutines are used for managing background tasks and managing the flow of data, making the app more efficient.
- Dagger Hilt: Dependency injection is handled by Dagger Hilt, making it easy to manage dependencies and improve testability.
- Jetpack components: Jetpack components such as ViewModel and LiveData are used for better performance and to make the app more responsive.

## Installation
1. Clone the repository: `git clone https://github.com//chat-app.git`
2. Import the project into Android Studio.
3. Build and run the project.

## Usage
1. Open the app and sign in/ sign up
2. Send and receive messages in real-time
3. Receive notifications even when the app is not open

## Contributing
If you would like to contribute to the project, please fork the repository and create a pull request with your changes.