Code Monkey home page Code Monkey logo

realtimechat-1's Introduction

OVERVIEW

This is a native iOS Messenger app, with audio/video calls and realtime chat conversations (full offline support).


.. ..


NEW FEATURES

  • CallKit support for audio and video calls
  • Database management is powered by SyncEngine
  • Works with MessageKit chat user interface
  • Uses InputBarAccessoryView as chat input bar
  • Supports native iOS Dark Mode

ADDITIONAL FEATURES

  • Full source code is available for all features
  • Video call (in-app video calling over data connection)
  • Audio call (in-app audio calling over data connection)
  • Message queue (creating new messages while offline)
  • User last active (or currently online) status info
  • Spotlight search for users
  • Media download network settings (Wi-Fi, Cellular or Manual)
  • Cache settings for media messages (automatic/manual cleanup)
  • Media message re-download option
  • Block users
  • Forward messages
  • Mute push notifications
  • Home screen quick actions
  • Share media message content

KEY FEATURES

  • Firebase Cloud Firestore backend (full realtime actions)
  • Realm Database for local data (full offline availability)
  • AES-256 encryption

FEATURES

  • Live chat between multiple devices
  • Private chat functionality
  • Group chat functionality
  • Push notification support
  • No backend programming is needed
  • Native and easy to customize user interface
  • Login with Email
  • Sending text messages
  • Sending pictures
  • Sending videos
  • Sending audio messages
  • Sending current location
  • Sending stickers
  • Sending large emojis
  • Media file local cache
  • Load earlier messages
  • Typing indicator
  • Message delivery receipt
  • Message read receipt
  • Save picture messages to device
  • Save video messages to device
  • Save audio messages to device
  • Delete read and unread messages
  • Realtime conversation view for ongoing chats
  • Archived conversation view for archived chats
  • All media view for chat media files
  • Picture view for multiple pictures
  • Map view for shared locations
  • Basic Settings view included
  • Basic Profile view for users
  • Edit Profile view for changing user details
  • Onboarding view on signup
  • Wallpaper backgrounds for Chat view
  • Privacy Policy view
  • Terms of Service view
  • Video length limit possibility
  • Copy and paste text messages
  • Arbitrary message sizes
  • Send/Receive sound effects
  • Supported devices: iPhone SE - iPhone 11 Pro Max

.. ..


REQUIREMENTS

  • iOS 13.0+

INSTALLATION

1., Run pod install first (the CocoaPods Frameworks and Libraries are not included in the repo). If you haven't used CocoaPods before, you can get started here. You might prefer to use the CocoaPods app over the command-line tool.

2., Create an account at Firebase and create a new project for your application.

3., Set up your Firebase Authentication sign-in methods.

4., Enable your Firebase Cloud Firestore by updating the Database Rules with the default values.

5., Create an Index with these settings.

6., Enable your Firebase Storage by updating the Storage Rules with the default values.

7., Download GoogleService-Info.plist from your Firebase project and replace the existing file in your Xcode project.

8., For using push notification feature, create an account at OneSignal and replace the ONESIGNAL_APPID define value in AppConstant.h. You will also need to configure your Push certificate details.

9., For using audio and video call features, create an account at Sinch and replace the SINCH_KEY and SINCH_SECRET define values in AppConstant.h. You will also need to configure your VoIP certificate details.


.. ..


CONTACT

Do you have any questions or an idea? My email is [email protected] or you can find some more info at relatedcode.com

LICENSE

MIT License

Copyright (c) 2020 Related Code

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


.. ..

realtimechat-1's People

Contributors

relatedcode avatar

Stargazers

 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.