Skip to content

Instant messaging application based on Firebase (Authentication, Cloud Firestore, Cloud Storage)

Notifications You must be signed in to change notification settings

aliakseikln/KokaChat2

Repository files navigation

image

A simple free chat application where you can find new friends and chat with them with cool emoji!

Implemented in Kotlin using the Jetpack libraries and Firebase services.

Reasons for creating:

When I decided what to write for a pet project application I was inspired by messaging & social media apps.

Case Study:

  • Firebase:
    • How to make authorization in the application by phone number
    • how to create application users data
    • How to storage of all messages
    • How to storage of all images
  • Swipe to Refresh
    • How to setup SwipeRefreshLayout. create OnRefreshListener.
    • How to setup Recyclerview With Data.
    • How to set Listener to SwipeRefreshLayout.
    • How to update the data with a down swipe
  • Emoji KeyBoard
    • How to add Emoji to the app
  • Lottie-animation
    • How to add animation in the app
  • Country-code-picker
    • How to add ccp view to xml layout

Screenshots

Welcome Screen Contact Screen Account Detail Screen
Contact Screen List of your chat Сhat Screen

Libraries and technologies used.

  • Minimum SDK level 27
  • Coroutines - Background code execution.
  • Coil - An image loading library for Android backed by Kotlin Coroutines.
  • Navigation - Handle everything related for in-app navigation.
  • ViewBinding - Allows you to more easily write code that interacts with views.
  • Firebase - It provide backend services for the app. It has realtime database, auth, storage, and more.
    • Authentication - Allows an app to securely save user data in the cloud.
    • Cloud Firestore - Flexible, scalable NoSQL cloud database to store and sync data.
    • Cloud Storage - Store and serve user-generated content.
  • FlexboxLayout - A library project which brings the similar capabilities of CSS Flexible Box Layout Module to Android.
  • Circle Image - A fast circular ImageView perfect for profile images.
  • Country code picker - An android library for Country Selector or Country Spinner or Country Phone Code selector.
  • Swipe to Refresh - With the help of SwipeToRefreshLayout you can update your UI just swiping from up to down.
  • Emoji KeyBoard - A Kotlin Multiplatform library to add Emoji support to your Android App / JVM Backend.
  • Material-Components - Material design components for building ripple animation, and CardView.
  • Lottie animation - A mobile library for Android and iOS that parses Adobe After Effects animations exported as json with Bodymovin and renders them natively on mobile.

About

Instant messaging application based on Firebase (Authentication, Cloud Firestore, Cloud Storage)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages