Skip to content

vhurteve/ppmessage

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PPMessage

A Open Source Plug & Play Online Customer Communication Platform. On PPMessage, you can chat with your customer via Web or mobile App. As open source Intercom alternative, nothing needs change, you can start a SAAS with PPMessage.

PPMessage targets to be deployed on Linux, Mac OS X and Windows systems. And PPMessage is a clearly API system which could be integrated with any open source Content Management System like Wordpress, Drupal and any commercial system even a e-commerce system.

PPMessage includes a backend system which exposes oauth and web service APIs, a frontend SDK named PPCom, a frontend App named PPKefu.

PPCom run on customer user side, and can be integrated in Web site via a single line Javascript code or integrated in mobile App with PPCom mobile API. Customer use PPCom to communicate with service user.

PPKefu run on service user side, service user can use PPKefu application to communicate with customer user. PPKefu can run on Windows, Mac OS X, Android, iOS and Web.

PPConsole is Web user interface of PPMessage and open sourced as well. After PPMessage backend running, PPConsole provided a Web interface to help the service team leader to setup the PPMessage system.

In the following, it is a simple guide to help developer delopy PPMessage backend and generate Web version of PPCom and PPKefu on Mac OS X. Want to know more, please go to PPMessage Site get more detail documents about PPMessage.

Run PPMessage on Mac OS X

Requirements

  • Homebrew

      /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    • Install command
      brew install hg autoconf libtool automake redis libmagic mysql libjpeg libffi fdk-aac lame mercurial
      brew tap homebrew/services
      brew tap homebrew/nginx
      brew install nginx-full --with-upload-module
      brew install ffmpeg --with-fdk-aac --with-opencore-amr --with-libvorbis --with-opus
    • Or use ppmessage/scripts/install_brews.py to install automatically
  • Manual download

    • Apns-client source
      hg clone https://dingguijin@bitbucket.org/dingguijin/apns-client
      cd ./apns-client; sudo -H python setup.py install; cd -
    • Geolite2 library source
      git clone --recursive https://github.com/maxmind/libmaxminddb
      cd libmaxmindb; ./bootstrap; ./configure; make; make install; cd -
    • Geolite2 DB (assuming you have cloned the ppmessage source, and under the root ppmessage directory.)
      cd ppmessage/api/geolite2
      wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz
      gunzip GeoLite2-City.mmdb.gz
      cd -

    sh ppmessage/scripts/download_geolite2.sh is an alternative scripts way which PPMessage provides.

    • Mysql connector python
      wget -c http://dev.mysql.com/get/Downloads/Connector-Python/mysql-connector-python-2.1.3.tar.gz
      tar zxvf mysql-connector-python-2.1.3.tar.gz
      cd mysql-connector-python-2.1.3
      sudo python setup.py install
      cd -
  • Python pip

    • Install command
      sudo -H pip install AxmlParserPY beautifulsoup4 biplist certifi cffi chardet cryptography evernote filemagic geoip2 green identicon ipaddr jieba matplotlib maxminddb numpy paho-mqtt paramiko Pillow ppmessage-mqtt pyOpenSSL pyparsing pypinyin python-dateutil python-gcm qiniu qrcode readline redis requests rq scikit-learn scipy six SQLAlchemy supervisor tornado xlrd
    • Or use ppmessage/scrips/install_pips.py to install automatically

Config mysql and redis

  • Mysql user and password (replace DB_PASSWORD with what you want to set as mysql password)
    brew services list
    brew services start mysql
    mysqladmin -uroot password DB_PASSWORD
  • Redis

    • Start redis
    brew services list
    brew services start redis

Config and prepare PPMessage

Assuming you have clone ppmessage and under ppmessage directory. In the directory, you can see dist.sh README.md files and ppmessage directory.

Check the requirements are ready or not.

require.py needs super user permission

    sudo python ppmessage/scripts/require.py

Use your text editor (vim/emacs/sublime) to edit the config file in PPMessage

    vim ppmessage/bootstrap/config.py

Bootstrap PPMessage based on your customized config.py file

    sh dist.sh bootstrap

Generate PPCom/PPKefu/PPConsole - web version

PPCom has iOS and Android SDK. PPKefu has Android, iOS, Windows PC, Mac OS X PC application.

Bower components install

Install Web javascript libraries via bower.

    sh dist.sh bower

Node components install

Install node.js components via npm.

    sh dist.sh npm

Run gulp task

Use gulp task to generate final PPCom/PPKefu/PPConsole javascript file.

    sh dist.sh gulp

Start/Stop PPMessage server

    sh dist.sh start
    sh dist.sh stop

See log

    sh dist.sh log

Check PPCOM

Use your browser open your server url which has been configed in config.py file.

PPCONSOLE/PPCOM

http://server_name:nginx_listen_port

PPKEFU

http://server_name:nginx_listen_port/ppkefu

About

PPMessage - An Open Source Plug & Play Customer Communication Platform

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 47.0%
  • Python 29.6%
  • CSS 16.1%
  • HTML 6.6%
  • Other 0.7%