Skip to content

mohesu/android-messenger-cc

 
 

Repository files navigation

A chat messenger and video calling demo app for Android using ConnectyCube platform

This project contains a chat messenger & video calling open source demo app for Android written on Kotlin and based on ConnectyCube communication platform.

       

Features

  • Chat
  • Video chat

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

Project contains the following features implemented:

  • Edit username and avatar
  • Chat dialogs creation (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)

How to run:

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

  2. Put Application credentials from Overview page + Account key 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. For offline pushes setup server key FCM, define sender_id (your sender id from google console) in string resource and put your google-services.json to module package, also 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

  5. Run project.

Documentation

All the samples use ConnectyCube SDK. The following tech integration documentation is available:

Have an issue?

Got troubles with integration? Just create an issue at Issues page

License

See LICENSE

About

A messenger demo app for Android using ConnectyCube platform

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Kotlin 94.3%
  • Java 5.7%