Edit: This project is no longer mantained. I'll leave it in bitbucket just for the joy of seeing
the code I wrote some time ago...

I did it just because I wanted to learn Erlang. For all the tests I've done the chat seems very
stable, but I would not use it in production in any case.  After having finished this web chat,
I read the XMPP The definitive Guide [1] and I thougt: nice I've implmented half of the protocol
of XMPP without even know it (well, sometimes not in a very clever way but, you know...). I strongly
recommend you to learn more about XMPP, BOSH and find a good XMPP server like ejabberd.

Ah! And I always wanted to have screenshots of the application, so here they are (old ones):


---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------

Web Chat Server written from the scratch in Erlang. Can handle hight load (50K+ users and 1500 messages/second).

Just create an account, add your friends and chat with them. It's a chat, there are no secrets on the usage. Any conversation is recorded.

Install required system dependences:
$ sudo aptitude install erlang git

Install recommended system dependencies:
$ sudo aptitude install mercurial

Clone the project from bitbucket to the current directory:
$ hg clone

Download and compile all Erlang dependences listed in rebar.config:
$ cd gaab
$ make

Run the application:
$ ./

(gaab_dev@tpad)1> Bob = gaab_server:login("bob").
(gaab_dev@tpad)2> Alice = gaab_server:login("alice").
(gaab_dev@tpad)3> gaab_user:send_message(Bob, "alice", "Hi Alice!").
	[alice] Message received from bob: "Hi Alice!"
(gaab_dev@tpad)4> gaab_user:send_message(Alice, "bob", "Hi, darling.").
	[bob] Message received from alice: "Hi, darling."
(gaab_dev@tpad)5> gaab_user:send_message(Alice, "ted", "Ted, are you online?").
	Ummm.... the user "ted" seems to be offline. Message not delivered.

Create the documentation of the project:
$ make edoc

Copyright (C) Jan Carreras Prat 2012.
License: This project is under GPL3. See the COPYING file or take a look to