Skip to content
goon- edited this page May 11, 2019 · 4 revisions

Reqs

Version: 2

  1. joining a drawing session
    1. user must be able to create new drawing session
      1. when creating a session, user should be able to specify drawing area dimensions
    2. user must be able to join an existing session by URL
    3. user must be able to join an existing session by providing session ID
  2. drawing session
    1. when inside a session, user is presented with a drawing area
    2. drawing area has dimensions as defined at the moment of its creation
    3. user can zoom in and out of drawing area
    4. user can scroll drawing area vertically and horizontally
    5. drawing area reflects actions of all other users of this drawing session in real time
    6. when inside a session, user is presented with a tool box containing availbale drawing tools
    7. user can select a tool from the tool box
    8. user can change the drawing area contents by interacting with the drawing area while having a tool selected
    9. (? needs additional testing) changes to the drawing area made by a user have to be immediately reflected on their drawing area regardless of the connection quality
    10. application server has to be notified about the changes to a drawing area made by a user
    11. application server has to notify other users' clients about the changes made by a user and these changes have to be reflected on theirdrawing areas
    12. all changes (including user's own) have to be applied in the same order as the server receives them
  3. drawing tools
    1. pencil
      1. user can click on the drawing area to change the color of a single pixel under the cursor to currently selected color
      2. user can click and drag the cursor across the drawing area to change the color of every pixel under the cursor to currently selected color
Clone this wiki locally