/android-messenger-app

Chat and voice / video calling app using ConnectyCube

Primary LanguageKotlinApache License 2.0Apache-2.0

Stand With Ukraine

Chat and voice / video calling app using ConnectyCube

This project contains a chat and voice / video calling app for Android written in Kotlin and based on ConnectyCube communication platform.

       

Features

  • User authorization
  • User profile and avatar
  • Chat dialogs (private and group)
  • Group chat: edit group name, description; add/remove participants; add/remove admins
  • Group chat info
  • Send messages
  • File attachments (only Image)
  • Sent/Delivered/Read messages statuses
  • ‘Is typing’ statuses
  • Video and Audio calls (p2p and group)

Technical specification:

  • Language - Kotlin (with using coroutines)
  • Support library - androidx

Used Android Architecture Components:

  • LiveData - Notify views when underlying database changes
  • ViewModel - Manage UI-related data in a lifecycle-conscious way
  • Room - Fluent SQLite database access
  • Paging - Gradually load information on demand from data source
  • WorkManager - Manage Android background jobs

How to run:

  1. Register new account and application at https://admin.connectycube.com

  2. Put Application credentials from Overview page from https://admin.connectycube.com/account/settings to app/src/main/java/com/connectycube/messenger/utilities/SettingsProvider.kt class

  3. Follow to https://admin.connectycube.com and create users in Users module. Then put to the app/src/main/assets/user_configiration.json file at least 2 and max 5 users with format ["login":{"password":userId}], for ex. "userchatLogin1":{"userchatPassword1":310}.

  4. To setup push notifications, do the following:

  • get and set Server Key FCM in ConnectyCube Dashboard
  • define sender_id (your sender id from google console) in string resource and put your google-services.json to module package
  • uncomment apply plugin: 'com.google.gms.google-services' line in app module build.gradle file.

For more information look at https://developers.connectycube.com/android/push-notifications

  1. Run project.

Documentation

Have an issue?

Got troubles with integration? Create an issue at Issues page

Want to support our team:
Buy Me A Coffee

License

See LICENSE