In this project, you are required to design and develop an information sharing desktop application named as “WeShare”. The application includes a server program and a client program, and has the following basic functions:
A user can use the client program to remotely connect to the server program and create a new group. The user can also set the password to make the group being a private group. Without providing the correct password, other users cannot access the group.
If other users know the group ID and password, they can join the group through connecting to the server program remotely by using the client program.
After entering a group, the group members can (1) start conversation - post and read messages, and (2) share files - upload and download files, within the group.
- Write the programs by using Java Programming Language.
- The client program must provide a graphical user interface for the conversation.
The project will be assessed based on the following THREE parts (Full mark of the project is 100)
Your report in PDF format is expected to have up to FOUR A4 sheets (double-sided). The design report should include at least:
- A general description of the functions supported by your application;
- The detailed application protocol for your application;
Remark: You need to design a set of “user commands”, e.g., how to connect to a server, how to set the password at the server side, how to input the password at the client side, how to post messages, how to upload the files, how to download a file, how to quit the program, etc.
- The flowchart and/or pseudo codes of the client program and server program.
- Group opening and entering functions
- Multiple-user conversation support
- Post and show messages
- File uploading function
- File downloading function
- File browsing function (names and sizes of the shared files)
- If your program has some bug(s), up to 10 marks will be deducted.
- If your programming style is not good, up to 10 marks will be deducted.
Each additional innovative function will count for 10 marks, depending on the quality of your implementation. You can get at most 20 marks for this part.
- Project demonstration is mandatory. It includes
- Execute the source codes submitted by you;
- Demonstrate the major functions of your application;
- If you don’t attend the demonstration session, or you cannot explain your own source codes correctly during Q&A, you may get zero marks on Parts 2 & 3, even if your program runs successfully.