ChatApp Project

COMP 310    Java Resources  Eclipse Resources

For the latest ChatApp information, please see the ChatApp Resources page in Canvas!


The ChatApp program is a general message sending and receiving application that is not limited to simple text message but should be able to send and receive arbirtrary custom messages defined solely by the sender, not the receiver.

In addition to the technical design and implementation challenges of the application, a key component of the project is to design the common application programming interface ("API") that defines the remote connectivity between ChatApp apps and the transmitted data sent between them. The process of creating this API will be a class-wide effort through competing API design groups. This effort has two critical components:




ChatApp Design Considerations

Some things (non-exhaustive!) to think about:

Some (non-exhaustive!) important capabilities the ChatApp program needs

  1. Use case for adding a user
  2. Processing DataPacket<T>
  3. Return value of sending a data packet?   
  4. Comparing remote stubs and serialized objects.
  5. Processing new commands


Project Developement Issues

All Design Teams need to record the HW08 teams (NOT single individuals!) assigned to each role.   Please record both the HW08 team number (1-34) and the people in that team.   DO THIS NOW!!

See the Design Process Overall Guidelines.

All design groups need to get moving on the design process right away.   DO NOT DELAY!    THERE IS A HUGE AMOUNT OF WORK TO DO! 

 Develop and test your API incrementally As soon as you decide on a part of your API, e.g. the initial connection process, commit that much of your API to your groups common repository and let the HW08 teams implement it and test it with each other.    Then as the design group decides on another part of the API, commit that and let people add that implementation and test it.   DO NOT WAIT UNTIL EVERYTHING IS COMPLETE TO START IMPLEMENTING AND TESTING!

Remember, most of ChatApp can be written without knowing the API! 

TEST YOUR PROPOSED API! Write code to try to get your proposed API to work.

  1. Create an implementation of your group's interfaces in your own rmiChat package and build your code off of that.  
  2. Add/modify methods, interfaces as you think are necessary to make the chat system work.  
  3. Document your changes and suggestions in the wiki.
  4. Post change and modification ideas to Piazza, requesting everyone to please look at your suggestions.


© 2020 by Stephen Wong