I created a React App that creates rectangles and saves their layout.
The requested feature set was:
- add a new "rectangle" to the area
- remove a rectangle
- resize a rectangle using direct mouse manipulations
- move a rectangle using direct mouse manipulations
- change the color of a rectangle
- clear the area
- save the current area layout (the position, size, and color of each rectangle in the area)
- name a saved layout
- return to a saved layout
- delete a saved layout from the set of saved layouts
This was one of my first React Apps, I manage to implement almost all of requested features.