Giter VIP home page Giter VIP logo

acanichat's Introduction

AcaniChat

Native iPhone Messages.app with WebSocket & Bonjour over Bluetooth

AcaniChat Conversations Screenshot      AcaniChat Messages Screenshot

Technology

Client (iOS)

  • UIKit framework, mainly UINavigationController & UITableViewController, to display conversations & messages
  • Copied images from Apple's ChatKit.framework to beautify the UI
  • Core Data framework to persist conversations & messages (stores them to disk in an SQLite file)
  • SocketRocket to communicate with the server via WebSocket
  • Coming soon: Bonjour over Bluetoothh for peer-to-peer (p2p) communication
  • Note: Ability to delete messages was removed after commit b269281 to keep things simple

Server (Node.js)

  • Nodejitsu-hosted instance of acani-chat-server
  • Node.js ws module to communicate with clients via WebSocket
    • I chose ws because I think Socket.io (recommended by the Node.js website) uses ws. And, I didn't want the extra backwards compatibility that Socket.io offers.
  • Redis to store messages in a list
Installation
Hosting

Heroku doesn't support websockets yet, so I went with nodejitsu. modulus.io is another option. To host with nodejitsu, follow http://nodejitsu.com/paas/getting-started.html.

Getting Started

AcaniChat uses Objective-C literals, so make sure you have Xcode 4.5 or later, which you can download from iOS Dev Center : Beta Downloads.

git clone https://github.com/acani/AcaniChat.git
cd AcaniChat
git checkout edge
git submodule update --init
open AcaniChat.xcproj

License

AcaniChat, except for those images copied from Apple's ChatKit.framework, is released under the MIT License.

How to find Apple's ChatKit.framework images, e.g.:

find /Applications/Xcode.app/ -name *.png
find /Applications/Xcode.app/ -name SendButton.png
open /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk/System/Library/PrivateFrameworks/ChatKit.framework

Contributors

Related Projects & Links

acanichat's People

Contributors

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