GWT-based two-party chat system

This project entails designing a website using GWT, Java, PostgreSQL, and Hibernate that facilitates two-way chat between users. The requirements are: 1) There must be a login and registration mechanism. Users that choose to not log in are assigned a temporary ID starting with the word "guest", followed by a dash, ending in a string of unique digits. 2) There must be a mechanism to store a "buddy list" of favorite people to contact for users that are loggged in. The buddy list is a separate GWT panel that can be popped out as well. This list does NOT need to track the status of users as to whether they are online or offline. The buddy list needs to have functionality to add and remove users from it (specifying the external user's name and alias). 3) The chat sessions must be in separate windows. They can be GWT panels on the same webpage. The user should be able to drag and resize them and the borders and styles should be easily modified. 4) The chat sessions must support GMail style pop-out windows so they can keep the windows open while they have their browser minimized. 5) The site must log the IP addresses of each user (logged in or guest) with their ID and a timestamp. 6) The site must block users from logging in more than once. 7) There must be a mechanism to efficiently poll the database for new messages. This means that a GWT RPC call must be made that requests the next message. If no messages are waiting then it delays on the server side until there is a message. If the client times out it should perform the GWT RPC call again. This is the Wait, Respond, Close, Re-Open paradigm explained in the GWT Server Push FAQ. The database must contain the following items: 1) A table of users with login IDs, usernames, passwords (hashed), and e-mail addresses 2) A table of messages. When a user sends a message it should be added to this table with information containing the sender and the external recipient along with a timestamp. 3) A table of external recipients. External recipients are users that are on other chat systems (all chatting is done from a local user to an external user). There will need to be a field for the external user's name and an alias. 4) Any other tables required to implement the requirements from above. All foreign key references must be done by unique ID so that no information is duplicated.

## Deliverables

This project does NOT cover the external communication portion of the project. An external process handles putting and getting messages into and out of the database.

Habilidades: Engenharia, Java, MySQL, PHP, Gestão de projetos, Arquitetura de software, Teste de Software, Hospedagem Web, Gestão de Site , Teste de Website

Veja mais: word designing online, while designing a website, logging designing, log designing, gwt-rpc, communication styles, postgresql any, online support chat, block sender, this website needs to have 5 key items, rpc, party block, minimized, java gwt, GWT, gmail client, chat table, php push system, php close browser, push java, online call logging system project, java message sender, windows java chat server, php string contain, java system log

Acerca do Empregador:
( 5 comentários ) United States

ID do Projeto: #3057628

Concedido a:


See private message.

$178.5 USD em 14 dias
(17 Comentários)

7 freelancers are bidding on average $991 for this job


See private message.

$2975 USD in 14 dias
(80 Comentários)

See private message.

$552.5 USD in 14 dias
(14 Comentários)

See private message.

$1360 USD in 14 dias
(4 Comentários)

See private message.

$510 USD in 14 dias
(0 Comentários)

See private message.

$170 USD in 14 dias
(0 Comentários)

See private message.

$1190 USD in 14 dias
(0 Comentários)