## Subtask within processing module
> Develop module that does processing for whiteboard application
### Tasks
* Create the object for data received from UI on below operations.
* Draw random curve using brush
* Draw shape (line segment, circle, square and rectangle)
* Erase
* Provide API for performing each of the given operations on selected objects from UI.
* Delete an object
* Rotate an object (in multiples of 90 degree)
* Color-change
* Deserialisation and serialisation of objects to be sent and received from server.
* Perform the below operation given the received object. (server/client)
* Delete an object
* Rotate an object
* Color-change
* Process and pass the changes to UI for display. (client)
* Provide an API to return username for selected pixels. (client)
* Provide an API to reset the board. (client)
* Persistence support on the central server. (optional)
* Implement undo-redo and pass information to server. (client)
* Do server side processing which includes:
* Spwan a thread for a new board server and pass board objects to new user.
* Broadcasting the messages received from the clients
* Perform processing related to whiteboard objects received from other clients
* Write Main file for processing on client side, including request from UI, passing changes to UI.
* Review and Testing
### Tasks Allotmemt
#### Ahmed Zaheer Dadarkar
* Deserialisation and serialisation of objects to be sent and received from server.
* Handle processing related to drawing standard shapes (line segment, circle, square, rectangle).
* Provide an API that returns tag for each object.
* Review processing related to Undo-Redo.
#### Devansh Singh Rathore
* Handle processing related to below operations:
* Change color of object
* Rotate object (in multiples of 90 degree)
* Extend the rotate option for an angles (optional)
* Review Server Processing.
#### Himanshu Jain
* Do server side processing which includes:
* Spwan a thread for a new board server and pass board objects to new user.
* Broadcasting the messages received from the clients
* Perform processing related to whiteboard objects received from other clients
* Write Main file for processing on client side, including request from UI, passing changes to UI.
* Persistence support on the central server. (optional)
* Review processing related to Draw, Erase and Reset.
#### Rakesh Kumar
* Handle all operations related to undo-redo on client side.
* Review processing related to deserialisation & serialisation, draw standard shape, tag object.
#### Satchit Desai
* Handle processing related to below operations:
* Draw random curve using brush
* Erase
* Provide API to clear the work done by a particular user
* Review processing related to select & delete.
#### Sakshi Rathore (Team lead)
* Testing
* Review
#### Shruti Umat
* Handle processing related to below operations:
* Select an object
* Delete an object
* Review processing related to color change and rotate.