Skip to content

Latest commit

 

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Collaborative Whiteboard - Distributed Java Application

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.

image1

Basic Features

  1. Multi-user shared whiteboard system. Multiple users can draw on a shared interactive canvas.
  2. 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.

Advanced Features

  1. 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.
  2. 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.
  3. Allow the manager to kick out a certain user based on username.

Extra Features

  1. Colour Chooser
image3
  1. Font Size controls
image5

System Design

image6

Interaction Diagram

image4

Dependencies

  1. Java Swing library for GUI
  2. Java RMI
  3. Image Icon made by Freepik from @flaticon

About

Distributed Whiteboard app for Windows. Built with Java, Swing for GUI and RMI

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages