Skip to content

Chat app based on the MVVM architecture using Kotlin, ViewModel, LiveData, DataBinding and more.

License

Notifications You must be signed in to change notification settings

dgewe/Chat-App-Android

Repository files navigation

Chat App Android

HeaderImage

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

  1. Download and open the project in Android Studio
  2. Connect your Android phone or use the emulator to start the application