Table of Contents Link to heading
Summary Link to heading
A collaborative drawing application with undo/redo capabilities, built with Angular (frontend) and Spring Boot (backend), demonstrating clean architecture and design pattern implementation.
Setup Instructions Link to heading
-
Backend
mvn spring-boot:run
-
Frontend
npm install ng serve
Design Pattern Impact Link to heading
Pattern | Problem Solved | Implementation Location |
---|---|---|
Memento | State versioning | Backend model package |
Factory Method | Flexible object creation | shapeFactory/ directory |
Observer | Asynchronous communication | konva.service.ts |
Singleton | Single service instances | Angular @Injectable decorator |
Strategy | Interchangeable file formats | PaintController save/load |
This architecture demonstrates how proper pattern implementation leads to:
- Clear separation between presentation and business logic
- Testable and modular components
- Scalable feature additions
- Maintainable state management
- Robust error handling