SE 450 JPaint Project
I have implemented application as part of my course SE 450 Object-Oriented Software Development.
Sprint 1
I have implemented default rectangle shape with Red color, with Undo and Redo functions.
Below is my Repo Link: https://github.com/Cjonnala/JavaPaintFinalProject
Sprint 2
For this sprint I have implemented various colors, shading types and all three shpaes (Rectangle, Ellipse,Triangle). I have also implemented Select and Move operations.
Sprint 3
For this sprint I have implemented dashed outline for the shapes when they are selected. I have also implemented Copy, Paste and Delete Commands.
Sprint 4
For this sprint I have implemented "Group and Ungroup". I have also implemented Copy, Paste and Delete Commands.
Design Pattern
Implemented below design patterns in my project
- Command Pattern
- Factory Method Pattern
- Strategy Pattern
- Decorator Pattern
- Composite Pattern
Limitations
- Multiple paste is not working when any shape is selected
Bugs 1.If we do undo multiple time the shape is going out of the paint canvas.
- Semi Circle
- Pentagon
- Rhombus
- Droplet
- Septagon
- Octagon
- Trapezoid
- Square
- In general any application will have tab or option called "Tutorial/Help"
- This gives the information w.r.t tool, It's features and also on how to use them
- When clicked on "Tutorial" button it will open a new window and display the required content
- The content is read from HTML document
Note : This functionality can be extended to load the content from a webpage
- Faced major challenge in implementing multiple design patterns
- Implementing the paste functionality was also tricky, when the shapes are being pasted, subsequently list also should get updated
- Group and Ungroup was also tricky to implement, it was difficult to update new dimensions of the group o that it will work as a single unit