Git Product home page Git Product logo

awesomechat's Introduction

RelatedCode

OVERVIEW

AwesomeChat is a full native iPhone app to create realtime, text based chatrooms with Facebook/Twitter login.

AwesomeChat . AwesomeChat . AwesomeChat

AwesomeChat is using Firebase as backend which is free for side projects or businesses that are just getting started. (Free plan: 5 GB Data Transfer, 50 Max Connections, 100 MB Data Storage).

Really easy to setup, just copy/paste the code and use your own chatrooms.

WHAT'S NEW IN 1.2

  • JSQMessagesViewController is updated
  • Message date is stored at backend (finally)
  • ProgressHUD is updated
  • AFNetworking is updated
  • Architecture 64 bit warnings are eliminated
  • Firebase Framework is updated too (I guess)
  • Facebook settings updated (finally)

FEATURES

  • Realtime, live chat between multiple devices
  • Facebook/Twitter login
  • Mind-blowing fast chat actions
  • No backend programming needed
  • Automatic online/offline detection and handle
  • Copy and paste messages
  • Dynamically resizes input text while typing
  • Native and easy to customize user interface
  • Send button is enabled/disabled automatically
  • Arbitrary message sizes
  • Data detectors (recognizes phone numbers, links and dates)
  • Timestamps possibilities
  • Automatic avatar images from Facebook/Twitter
  • Hide keyboard with swipe down
  • Smooth animations
  • Send/Receive sound effects
  • Handles multiple Twitter accounts on Login

REQUIREMENTS

  • Xcode 5
  • iOS 7
  • ARC

INSTALLATION

1., All AwesomeChat files located in Chat directory. Vendor files located in Vendor directory and external Frameworks in Framework directory. Some resource files can be found in Resources directory. Simply add Chat, Resources, Vendor and Framework directories to your project.

2., You need the following iOS (built in) libraries: UIKit.framework, CoreGraphics.framework, Foundation.framework, SystemConfiguration.framework, Security.framework, CFNetwork.framework, Accounts.framework, Social.framework, libicucore.dylib, libc++.dylib.

To add libraries follow these steps: Click on the Targets โ†’ Your app name โ†’ and then the 'Build Phases' tab and then expand 'Link Binary With Libraries'. Click the plus button in the bottom left of the 'Link Binary With Libraries' section and choose library items from the list.

3., You also need the latest Firebase.framework and FirebaseSimpleLogin.framework (already included). But if you need, you can download from here:

https://cdn.firebase.com/ObjC/Firebase.framework-LATEST.zip
https://cdn.firebase.com/ios/FirebaseSimpleLogin.framework-LATEST.zip

To add Firebase.framework and FirebaseSimpleLogin.framework, just unzip the above files and drag the .framework folders into your Xcode project under 'Frameworks'.

4., Firebase makes use of Objective-C classes and categories, so you'll need to add '-ObjC' under 'Other Linker Flags' in 'Build Settings'.

5., The Prefix.pch should contain:

#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import <SystemConfiguration/SystemConfiguration.h>

6., You also need several external libraries which are included. But if you need, you can download them from here:

https://github.com/AFNetworking/AFNetworking
https://github.com/jessesquires/JSQMessagesViewController
https://github.com/jessesquires/JSQSystemSoundPlayer
https://github.com/relatedcode/ProgressHUD

To use these libraries, just add AFNetworking, JSQMessagesViewController, JSQSystemSoundPlayer and ProgressHUD directories to your project.

7., You need to use your own Firebase account. To get your Firebase account click here:

https://www.firebase.com/signup

8., Replace existing Firebase account in common.h:

#define FIREBASE @"https://relatedchat.firebaseio.com"

9., You need to register you app at Facebook and Twitter.

https://developers.facebook.com/apps
https://dev.twitter.com/apps

10., At Facebook you need to enter your apps bundle identifier (Twitter does not require that).

Facebook

11., You need to enter your Facebook App Id, Facebook App Secret and your Twitter Consumer Key, Twitter Consumer Secret at Firebase, Simple Login tab.

Twitter

12., Replace your Facebook App Id and your Twitter Consumer Key in common.h

#define FACEBOOK_KEY @"1412541952322331"
#define TWITTER_KEY @"idEO49RKfbP7sjPmoSaZkg"

CONTACT

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

LICENSE

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.

awesomechat's People

Contributors

relatedcode avatar

Watchers

 avatar  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.