Chat-App-Android
                                
                                 Chat-App-Android copied to clipboard
                                
                                    Chat-App-Android copied to clipboard
                            
                            
                            
                        Chat app based on the MVVM architecture using Kotlin, ViewModel, LiveData, DataBinding and more.
Chat App Android

Introduction
This is a demo application built with the goal to create a fun and challenging application based on the MVVM architectural pattern.
See below for more information.
Technologies & Architecture
Technologies
Android, Kotlin
Architecture
Model-View-ViewModel (MVVM)
Firebase
- Authentication
- Realtime Database
- Storage
Architecture Components
ViewModel, LiveData, DataBinding, Navigation
Features
Start: Login/create account
Chats: List of chats, online status, update on change
Notifications: Accept/decline friend requests, notifications symbol
Users: List of users
Settings: Change image, change status, logout
Chat: Send and show messages sorted by timestamp, online status, custom toolbar, update on change
Profile: Add/remove friend, accept/decline friend request
General: Auto login, bottom navigation, error messages with snackbar, progress bar
Screenshots
Start | Login | Create Account
   
   
 
   
 
Chats | Notifications | Users
   
   
 
   
 
Settings | Chat | Profile
   
   
 
   
 
Firebase
   
 
Setup
Requirements
- Basic knowledge about Android Studio
- Basic knowledge about Firebase
Firebase
- Setup Authentication and use the Sign-in method 'Email/Password'
- Setup Realtime Database
- Setup Storage
- Replace the file google-services.json
- Note: Download the google-services.json file after the Firebase services are set up to automatically include the services in the json file.
- Note: When updating the google-services.json file then make sure to invalidate the caches as well as doing a clean + rebuild.
Project
- Download and open the project in Android Studio
- Connect your Android phone or use the emulator to start the application