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