Code Monkey home page Code Monkey logo

live-chat-engine's Introduction

Live Chat Engine

Open source system for live chats with visitors (customers) in any site. Contains server-side (chats storing, users and billing management), operators cabinet for chatting and chat form for site's visitors.

Chat Form on a site: Operators Cabinet

Operators Cabinet: Operators Cabinet

Two work modes

Software as a Service (SaaS mode)

In SaaS mode clients create accounts for themselves and pay monthly bills. This mode is ready for production usage and enabled by default.

Example of implementation: cheapchat.me

Other popular examples: olark, livezilla, boldchat and others

Tool for Other System (Tool mode)

In Tool Mode admin creates accounts, user can be only a operator, no monthly bills. You can use Tool Mode for single site with own hosting for example.

To enable this mode change:

  • before build open file /components/cache-remote/extra/net-props/common.properties
  • or after build open file /build/_servers/chat-central-server/net-props/common.properties
  • change prop 'toolMode' to true

Requirements

  • Java 8
  • PostgreSQL or default H2DB (included to the build)
  • Windows (tested on Win7) / Linux (tested on Ubuntu)

How to build

  • download last version
  • check Java version (print "java -version" in a console)
  • start build.bat (win) or build.sh (linux)
  • on BUILD SUCCESSFUL message see /build/_servers dir
  • copy all files from /build/_servers to your work dir
  • run all components by single runner: run-all.bat (win) or run-all.sh (linux)
  • open browser with url 127.0.0.1:10280 for access to index page
  • sign in to cabinet with admin / admin login and password

Engine components

database-h2-server

Included database server by default. Use for tests. For production use PostgreSQL.

Run by /run.bat (run.sh).

By default H2 creates ~/livechat db file.


chat-central-server

Server for caches and synchronization.

Run by /run.bat (run.sh).

Configs and logs:

  • /config.properties - configs for central server
  • /net-props/* - common configs for all servers
  • /server.log - logs

chat-front-server

Web server for site and operators online cabinet. Powered by Tomcat 7 Web Server.

Run by /bin/run.bat (run.sh).

Configs and logs:

  • /conf - web server conf (see Tomcat docs)
  • /webapps/ROOT/WEB-INF/front.properties - special front app configs
  • /logs/catalina.log - logs

chat-node-server

Storage for chats accounts. Powered by Tomcat 7 Web Server.

Run by /bin/run.bat (run.sh).

Configs and logs:

  • /conf - web server conf (see Tomcat docs)
  • /webapps/ROOT/WEB-INF/chat.properties - special node app configs
  • /logs/catalina.log - logs
  • /data/accounts - created chat accounts

Demployment

Simple deployment scheme

Only one instance of front and node servers:

deploy-scheme-simple

Production deployment scheme

Load balancer (for example: nginx) for multi front instances, new storages for new accounts:

deploy-scheme-prod

live-chat-engine's People

Contributors

edolganov avatar joelin avatar veinhorn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

live-chat-engine's Issues

Problem with starting up

Hi edolganov,

Thank you for your great efforts.
I have followed all the instructions for pre-build and build process.
when I open the browser with url 127.0.0.1:10280 for access to index page, the page could not be reached. only two command prompt appeared:

H2Server cmd message: TCP server running at tcp://192.168.1.110:9092 (others can connect)

Chat-Central-Server cmd:
....
16:15:44,056 INFO [SocketServer] Start CacheSever [port:12160, threadsCount:30]
16:16:44,062 INFO [BillingOps] reinitAccsBlockedCache...
16:16:44,546 ERROR [TimerExt] PaypalPaymentsSynchService-sync: can't schedule: och.comp.db.base.exception.UniversalSqlException: can't select: query='SELECT id, userId, payProvider, payType, payStatus, amount, created, updated, externalId, details, comment FROM payments WHERE payProvider=? AND payStatus=? ORDER BY updated DESC;', errorMsg=Table "PAYMENTS" not found; SQL statement:
SELECT id, userId, payProvider, payType, payStatus, amount, created, updated, externalId, details, comment
FROM payments
WHERE payProvider=? AND payStatus=?
ORDER BY updated DESC; [42102-177]
16:16:44,546 ERROR [BillingOps] can't reinitAccsBlockedCache: och.comp.db.base.exception.UniversalSqlException: can't select: query='SELECT id, uid, created, name, serverId, tariffId, tariffStart, tariffLastPay, tariffChangedInDay, tariffPrevId, feedback_notifyOpsByEmail FROM chat_accounts;', errorMsg=Table "CHAT_ACCOUNTS" not found; SQL statement:
SELECT id, uid, created, name, serverId, tariffId, tariffStart, tariffLastPay, tariffChangedInDay, tariffPrevId, feedback_notifyOpsByEmail
FROM chat_accounts; [42102-177]

image

Thank you for your help!
I want to start the chat application but I faced an error.
Thanks

Use IP address can not access?

In the same LAN, such as 192.168.1.*. Only in the access to localhost, in the same network segment of the other computers can not connection database to chat.

На создаёт таблицы

Запулил с гита проект, собрал, запускаю run_all.bat - два окна закрываются сразу, два остаётся (h2-server) и (central-server), в central-server сыплются ошибки - не может найти таблицу, соответственно, это означает, что она и не создаётся. Что я делаю не так?

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.