Skip to content

Web based paint application with VueJs and Spring boot

Notifications You must be signed in to change notification settings

Saifullah-1/DrawingApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 

Repository files navigation

Project Description: Paint Application

Part 1: Geometric Shapes Data Model

2.1 Description

Design an object-oriented model encompassing geometric shapes (Line Segment, Circle, Ellipse, Triangle, Rectangle, and Square) with shared properties for efficient implementation of an object-oriented drawing application.

2.2 Tasks

  1. Develop an object-oriented model.
  2. Create a UML Class diagram illustrating classes, attributes, and methods.
  3. Apply inheritance and polymorphism concepts.

Part 2: Drawing and Painting Application

3.1 Description

Build a popular web-based drawing and painting application with a vast feature set, including drawing, coloring, resizing, and undo/redo functionalities. Integrate a variety of built-in and extensible geometric shapes.

3.2 Tasks

  1. Implement the geometric shapes model.
  2. Design and implement a GUI supporting Draw, Color, Resize, Move, Copy, and Delete functionalities.
  3. Enable undo/redo actions.
  4. Utilize the cursor for precise shape control, allowing users to draw by mouse dragging.

Part 3: Save and Load

4.1 Description

Enhance the application with the ability to save user drawings and modify them later.

4.2 Tasks

  1. Provide an option in UI to save the drawing in XML (encoding: ISO-8859-1) and JSON file (You should implement both).
  2. Provide an option to load previously saved drawings and modify the shapes.
  3. Users must choose where to save the file.