Git Product home page Git Product logo

android-messenger-app's Introduction

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

android-messenger-app's People

Contributors

cuberomanmagellan avatar davelomber avatar tatanka987 avatar tatankaconcube avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.