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