Made in Java, Swing for GUI and RMI
The application allows multiple clients to connect to a server and collaboratively draw on a shared canvas. Users interact using drawing tools such as freehand brush, eraser, lines, rectangles, triangles, ovals, and text, with all actions reflected in real-time across connected clients. An online chat box is also implemented for users to communicate with one another. The skills applied in this project form a strong foundation in developing real-world collaborative applications such as online whiteboards, real-time design tools and more.
- Multi-user shared whiteboard system. Multiple users can draw on a shared interactive canvas.
- Key Elements with GUI:
- Shapes: Support for line, triangle, oval, and rectangle.
- Freehand draw and erasers of different sizes
- Text inputting allows users to type text anywhere on the whiteboard
- Users can choose their favourite colour to draw the features. 16 default colours available with a colour chooser.
- Chat Window (text based): Allows users to communicate with each other by typing a text. A user list is also shown that displays all the users connected.
- A “File” menu with new, open, save, saveAs and close should be provided only to the whiteboard manager to save the file in a binary file with the .wbd extension.
- Allow the manager to kick out a certain user based on username.
- Colour Chooser
- Font Size controls
- Java Swing library for GUI
- Java RMI
- Image Icon made by Freepik from @flaticon