I am prepared to pay a bonus for this assignment
Design and implement an anonymous chat system. the system should allow each client user to chat anonymously with another client through the server. The server will act as a proxy server for the clients of the system. The client will not be required to know the ip address or port number for the user they wish to chat with. Using the system, the client user (or user) should be able to:
1. register with the server by providing a unique user name ( e.g. Mary2005). Unregister with the server.
2. Query the server and receive a list of all currently registered users.
3. Send a message to a user based only on the user name. The user will also obtain a unique number for each message sent to the server. The current date and time are also appended to each message (e.g."12.12.04 14:45 - Hello Mary!").
4. Receive a notification from the server if the message has been rejected (e.g. "Message number 4567 has been rejected")
5. reject or accept a message from another user.
In addition to the client asn server programs, you should describe the RMI specific requirements of the system. You will have to:
1. define the object interfaces and implementations
2. define how to relaise the functional requirements
Documentation:
1. a description of the object implementations
2. a description of hte implementation of the functions required
3. the sequence diagrams describing the communication between the participating entities.
Include an overview of the source files used inteh design. Source code shouls be commented and an explanation provided. In addition sample input/output data in the form of screen shots should be included in the documentation.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
A basic interface only for both the client and server is requried